USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::ProcessByBrick::ProcessIterator Class Reference

This class is designed to iterate over all brick positions in a cube. More...

Inheritance diagram for Isis::ProcessByBrick::ProcessIterator:
Inheritance graph
Collaboration diagram for Isis::ProcessByBrick::ProcessIterator:
Collaboration graph

Public Member Functions

 ProcessIterator (int position)
 Initialize a process iterator given a position.
 
 ProcessIterator (const ProcessIterator &other)
 This class fully supports copy construction.
 
virtual ~ProcessIterator ()
 Destructor.
 
ProcessIteratoroperator++ ()
 Increment the process iterator to the next position.
 
bool operator== (const ProcessIterator &rhs)
 Compare equality of two iterator positions.
 
bool operator!= (const ProcessIterator &rhs)
 Compare inequality of two iterator positions.
 
void swap (ProcessIterator &other)
 Exception-safe swap method.
 
ProcessIteratoroperator= (const ProcessIterator &rhs)
 Assignment of these iterators is fully supported.
 
int operator* () const
 Convert this iterator into a position.
 

Private Attributes

int m_currentPosition
 The current iterator's position/value.
 

Detailed Description

This class is designed to iterate over all brick positions in a cube.

This isn't using a BigInt because Brick::Bricks() isn't, so a performance penalty would be incurred for no reason.

Author
2012-02-22 Steven Lambright

Definition at line 750 of file ProcessByBrick.h.

Constructor & Destructor Documentation

Isis::ProcessByBrick::ProcessIterator::ProcessIterator ( int  position)

Initialize a process iterator given a position.

Parameters
positionThe process iterator position to initialize with.

Definition at line 854 of file ProcessByBrick.cpp.

Isis::ProcessByBrick::ProcessIterator::ProcessIterator ( const ProcessIterator other)

This class fully supports copy construction.

Parameters
otherThe process iterator to copy

Definition at line 864 of file ProcessByBrick.cpp.

Isis::ProcessByBrick::ProcessIterator::~ProcessIterator ( )
virtual

Destructor.

Definition at line 873 of file ProcessByBrick.cpp.

Member Function Documentation

bool Isis::ProcessByBrick::ProcessIterator::operator!= ( const ProcessIterator rhs)
inline

Compare inequality of two iterator positions.

Parameters
rhsThe right hand side of the '!=' operator
Returns
True if this and rhs are not equal

Definition at line 775 of file ProcessByBrick.h.

int Isis::ProcessByBrick::ProcessIterator::operator* ( ) const
inline

Convert this iterator into a position.

An integer is sufficient.

Returns
The brick position to use

Definition at line 807 of file ProcessByBrick.h.

References m_currentPosition.

ProcessByBrick::ProcessIterator & Isis::ProcessByBrick::ProcessIterator::operator++ ( )

Increment the process iterator to the next position.

Returns
*this

Definition at line 883 of file ProcessByBrick.cpp.

ProcessIterator& Isis::ProcessByBrick::ProcessIterator::operator= ( const ProcessIterator rhs)
inline

Assignment of these iterators is fully supported.

Parameters
rhsThe right hand side of the '=' operator.
Returns
*this

Definition at line 796 of file ProcessByBrick.h.

References swap().

bool Isis::ProcessByBrick::ProcessIterator::operator== ( const ProcessIterator rhs)
inline

Compare equality of two iterator positions.

Parameters
rhsThe right hand side of the '==' operator
Returns
True if this and rhs are equal

Definition at line 765 of file ProcessByBrick.h.

References m_currentPosition.

void Isis::ProcessByBrick::ProcessIterator::swap ( ProcessIterator other)
inline

Exception-safe swap method.

Parameters
otherThe instance to swap with

Definition at line 785 of file ProcessByBrick.h.

References m_currentPosition.

Referenced by operator=().

Member Data Documentation

int Isis::ProcessByBrick::ProcessIterator::m_currentPosition
private

The current iterator's position/value.

Definition at line 813 of file ProcessByBrick.h.

Referenced by operator*(), operator==(), and swap().


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