casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | List of all members
casacore::ArrayAccessor< T, AxisN > Class Template Reference

Specialization for run-time axes. More...

#include <ArrayAccessor.h>

Inheritance diagram for casacore::ArrayAccessor< T, AxisN >:
casacore::ArrayBaseAccessor< T >

Public Member Functions

 ArrayAccessor (const AxisN ax=AxisN(0))
 Constructors. More...
 
 ArrayAccessor (Array< T > &arr, const AxisN ax=AxisN(0))
 
 ArrayAccessor (ArrayAccessor< T, AxisN > &other)
 
 ArrayAccessor (ArrayAccessor< T, AxisN > &other, const AxisN ax)
 
template<size_t X>
 ArrayAccessor (ArrayAccessor< T, Axis< X > > &other, const AxisN ax=AxisN(0))
 
ArrayAccessoroperator= (const ArrayAccessor< T, AxisN > &other)
 
template<size_t X>
ArrayAccessoroperator= (const ArrayAccessor< T, Axis< X > > &other)
 
 ~ArrayAccessor ()
 Destructor. More...
 
void init (const Array< T > &arr, const AxisN ax)
 (Re-)initialization to start of array (i.e. More...
 
void init (const AxisN ax)
 
void reset ()
 Reset to start of dimension or to specified pointer. More...
 
void reset (const T *p)
 
template<class X >
const T & next () const
 Indexing operations along another axis than the one of the current object. More...
 
template<class X >
T & next ()
 
template<class X >
const T & prev () const
 
template<class X >
T & prev ()
 
const T & next (const AxisN ax) const
 
T & next (const AxisN ax)
 
const T & prev (const AxisN ax) const
 
T & prev (const AxisN ax)
 
template<class X >
const T & index (const int ix) const
 
template<class X >
T & index (const int ix)
 
const T & index (const int ix, const AxisN(ax)) const
 
T & index (const int ix, const AxisN(ax))
 
bool operator== (const ArrayAccessor< T, AxisN > &other) const
 Comparisons. More...
 
bool operator!= (const ArrayAccessor< T, AxisN > &other) const
 
bool operator== (const T *other) const
 
bool operator!= (const T *other) const
 
- Public Member Functions inherited from casacore::ArrayBaseAccessor< T >
void operator+= (const size_t ix)
 Iterator-like operations. More...
 
void operator-= (const size_t ix)
 
void operator++ ()
 
void operator++ (int)
 
void operator-- ()
 
void operator-- (int)
 
const T & operator* () const
 Dereferencing. More...
 
T & operator* ()
 
T * data ()
 
const Array< T > & baseArray ()
 
size_t step ()
 
const T & operator[] (const int ix) const
 Index along current axis. More...
 
T & operator[] (const int ix)
 
const T * end ()
 End of index on line. More...
 
const T * end (const int n)
 
const T * begin ()
 Start of index on line. More...
 
const T * begin (const int n)
 
const T * rend ()
 End when reverse indexing. More...
 
const T * rend (const int n)
 
const T * rbegin ()
 Begin when reverse indexing. More...
 
const T * rbegin (const int n)
 

Private Member Functions

int initOff (int x, size_t ax)
 Get proper offset. More...
 
void initStep ()
 Initialize some internal values. More...
 

Additional Inherited Members

- Protected Member Functions inherited from casacore::ArrayBaseAccessor< T >
 ArrayBaseAccessor ()
 Default constructor (for use in e.g. More...
 
 ArrayBaseAccessor (const Array< T > &arr)
 Construct from an Array. More...
 
 ArrayBaseAccessor (const Array< T > &arr, const size_t ax)
 
 ArrayBaseAccessor (const ArrayBaseAccessor< T > &other)
 Copy constructor (copy semantics) More...
 
 ArrayBaseAccessor (const ArrayBaseAccessor< T > &other, const size_t ax)
 
 ~ArrayBaseAccessor ()
 Destructor. More...
 
ArrayBaseAccessoroperator= (const ArrayBaseAccessor< T > &other)
 Assignment (copy semantics) More...
 
void init (const Array< T > &arr)
 (Re-)initialize from Array More...
 
void init (const Array< T > &arr, const size_t ax)
 
void init (const size_t ax)
 
- Protected Attributes inherited from casacore::ArrayBaseAccessor< T >
const Array< T > * arrayPtr_p
 The pointer to belonging array. More...
 
size_t axis_p
 Current run-time axis. More...
 
T * ptr_p
 Current access pointer. More...
 
int step_p
 The increment to go from one point along an axis, to the next. More...
 
const T * begin_p
 The start element of array. More...
 
const T * end_p
 The one element beyond last on line. More...
 

Detailed Description

template<class T>
class casacore::ArrayAccessor< T, AxisN >

Specialization for run-time axes.

Intended use:

Public interface

Synopsis

This class is a specialization for run-time axis selection within the array accessor. The axis is specified in the constructors and in the special indexing operators (prev, next, index) with a parameter AxisN(n) in stead of a template parameter <Axis<n> >.

See Also
ArrayAccessor

Definition at line 499 of file ArrayAccessor.h.

Constructor & Destructor Documentation

template<class T >
casacore::ArrayAccessor< T, AxisN >::ArrayAccessor ( const AxisN  ax = AxisN(0))
inlineexplicit

Constructors.

Definition at line 504 of file ArrayAccessor.h.

template<class T >
casacore::ArrayAccessor< T, AxisN >::ArrayAccessor ( Array< T > &  arr,
const AxisN  ax = AxisN(0) 
)
inlineexplicit

Definition at line 506 of file ArrayAccessor.h.

template<class T >
casacore::ArrayAccessor< T, AxisN >::ArrayAccessor ( ArrayAccessor< T, AxisN > &  other)
inline

Definition at line 508 of file ArrayAccessor.h.

template<class T >
casacore::ArrayAccessor< T, AxisN >::ArrayAccessor ( ArrayAccessor< T, AxisN > &  other,
const AxisN  ax 
)
inlineexplicit

Definition at line 510 of file ArrayAccessor.h.

template<class T >
template<size_t X>
casacore::ArrayAccessor< T, AxisN >::ArrayAccessor ( ArrayAccessor< T, Axis< X > > &  other,
const AxisN  ax = AxisN(0) 
)
inlineexplicit

Definition at line 514 of file ArrayAccessor.h.

template<class T >
casacore::ArrayAccessor< T, AxisN >::~ArrayAccessor ( )
inline

Destructor.

Definition at line 529 of file ArrayAccessor.h.

Member Function Documentation

template<class T >
template<class X >
const T& casacore::ArrayAccessor< T, AxisN >::index ( const int  ix) const
inline

Definition at line 569 of file ArrayAccessor.h.

References N, and casacore::ptr_p.

template<class T >
template<class X >
T& casacore::ArrayAccessor< T, AxisN >::index ( const int  ix)
inline

Definition at line 572 of file ArrayAccessor.h.

References N, and casacore::ptr_p.

template<class T >
const T& casacore::ArrayAccessor< T, AxisN >::index ( const int  ix,
const   AxisNax 
) const
inline

Definition at line 574 of file ArrayAccessor.h.

References casacore::ptr_p.

template<class T >
T& casacore::ArrayAccessor< T, AxisN >::index ( const int  ix,
const   AxisNax 
)
inline

Definition at line 576 of file ArrayAccessor.h.

References casacore::ptr_p.

template<class T >
void casacore::ArrayAccessor< T, AxisN >::init ( const Array< T > &  arr,
const AxisN  ax 
)
inline

(Re-)initialization to start of array (i.e.

element (0,0,0,...)) or re-initialize to an axis.

Definition at line 534 of file ArrayAccessor.h.

References casacore::ArrayBaseAccessor< T >::init().

template<class T >
void casacore::ArrayAccessor< T, AxisN >::init ( const AxisN  ax)
inline

Definition at line 536 of file ArrayAccessor.h.

References casacore::ArrayBaseAccessor< T >::init().

template<class T >
int casacore::ArrayAccessor< T, AxisN >::initOff ( int  x,
size_t  ax 
)
inlineprivate

Get proper offset.

Definition at line 592 of file ArrayAccessor.h.

template<class T >
void casacore::ArrayAccessor< T, AxisN >::initStep ( )
inlineprivate

Initialize some internal values.

Definition at line 596 of file ArrayAccessor.h.

References casacore::ptr_p.

template<class T >
template<class X >
const T& casacore::ArrayAccessor< T, AxisN >::next ( ) const
inline

Indexing operations along another axis than the one of the current object.

See for the indexing and iterator operations along the object's axis ArrayBaseAccessor

Definition at line 551 of file ArrayAccessor.h.

References N, and casacore::ptr_p.

template<class T >
template<class X >
T& casacore::ArrayAccessor< T, AxisN >::next ( )
inline

Definition at line 554 of file ArrayAccessor.h.

References N, and casacore::ptr_p.

template<class T >
const T& casacore::ArrayAccessor< T, AxisN >::next ( const AxisN  ax) const
inline

Definition at line 560 of file ArrayAccessor.h.

References casacore::ptr_p.

template<class T >
T& casacore::ArrayAccessor< T, AxisN >::next ( const AxisN  ax)
inline

Definition at line 562 of file ArrayAccessor.h.

References casacore::ptr_p.

template<class T >
bool casacore::ArrayAccessor< T, AxisN >::operator!= ( const ArrayAccessor< T, AxisN > &  other) const
inline

Definition at line 584 of file ArrayAccessor.h.

References casacore::ptr_p, and casacore::ArrayBaseAccessor< T >::ptr_p.

template<class T >
bool casacore::ArrayAccessor< T, AxisN >::operator!= ( const T *  other) const
inline

Definition at line 587 of file ArrayAccessor.h.

References casacore::ptr_p.

template<class T >
ArrayAccessor& casacore::ArrayAccessor< T, AxisN >::operator= ( const ArrayAccessor< T, AxisN > &  other)
inline

Definition at line 517 of file ArrayAccessor.h.

References casacore::ArrayBaseAccessor< T >::operator=().

template<class T >
template<size_t X>
ArrayAccessor& casacore::ArrayAccessor< T, AxisN >::operator= ( const ArrayAccessor< T, Axis< X > > &  other)
inline

Definition at line 523 of file ArrayAccessor.h.

References casacore::ArrayBaseAccessor< T >::operator=().

template<class T >
bool casacore::ArrayAccessor< T, AxisN >::operator== ( const ArrayAccessor< T, AxisN > &  other) const
inline

Comparisons.

Definition at line 582 of file ArrayAccessor.h.

References casacore::ptr_p, and casacore::ArrayBaseAccessor< T >::ptr_p.

template<class T >
bool casacore::ArrayAccessor< T, AxisN >::operator== ( const T *  other) const
inline

Definition at line 586 of file ArrayAccessor.h.

References casacore::ptr_p.

template<class T >
template<class X >
const T& casacore::ArrayAccessor< T, AxisN >::prev ( ) const
inline

Definition at line 556 of file ArrayAccessor.h.

References N, and casacore::ptr_p.

template<class T >
template<class X >
T& casacore::ArrayAccessor< T, AxisN >::prev ( )
inline

Definition at line 559 of file ArrayAccessor.h.

References N, and casacore::ptr_p.

template<class T >
const T& casacore::ArrayAccessor< T, AxisN >::prev ( const AxisN  ax) const
inline

Definition at line 564 of file ArrayAccessor.h.

References casacore::ptr_p.

template<class T >
T& casacore::ArrayAccessor< T, AxisN >::prev ( const AxisN  ax)
inline

Definition at line 566 of file ArrayAccessor.h.

References casacore::ptr_p.

template<class T >
void casacore::ArrayAccessor< T, AxisN >::reset ( )
inline

Reset to start of dimension or to specified pointer.

Definition at line 542 of file ArrayAccessor.h.

References casacore::ptr_p.

template<class T >
void casacore::ArrayAccessor< T, AxisN >::reset ( const T *  p)
inline

Definition at line 543 of file ArrayAccessor.h.

References casacore::ptr_p.


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