File failed to load: https://isis.astrogeology.usgs.gov/9.0.0/Object/assets/jax/output/NativeMML/config.js
Isis 3 Programmer Reference
Isis::ProcessByBrick::ProcessIterator Class Reference

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

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

Public Types

using value_type = int
 
using iterator_category = std::forward_iterator_tag
 
using difference_type = std::ptrdiff_t
 
using pointer = int*
 
using reference = int&
 

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 751 of file ProcessByBrick.h.

Member Typedef Documentation

◆ difference_type

using Isis::ProcessByBrick::ProcessIterator::difference_type = std::ptrdiff_t

Definition at line 759 of file ProcessByBrick.h.

◆ iterator_category

using Isis::ProcessByBrick::ProcessIterator::iterator_category = std::forward_iterator_tag

Definition at line 758 of file ProcessByBrick.h.

◆ pointer

using Isis::ProcessByBrick::ProcessIterator::pointer = int*

Definition at line 760 of file ProcessByBrick.h.

◆ reference

using Isis::ProcessByBrick::ProcessIterator::reference = int&

Definition at line 761 of file ProcessByBrick.h.

◆ value_type

using Isis::ProcessByBrick::ProcessIterator::value_type = int

Definition at line 757 of file ProcessByBrick.h.

Constructor & Destructor Documentation

◆ ProcessIterator() [1/2]

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

Initialize a process iterator given a position.

Parameters
positionThe process iterator position to initialize with.

Definition at line 1123 of file ProcessByBrick.cpp.

References m_currentPosition.

Referenced by operator!=(), operator=(), operator==(), ProcessIterator(), and swap().

◆ ProcessIterator() [2/2]

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

This class fully supports copy construction.

Parameters
otherThe process iterator to copy

Definition at line 1133 of file ProcessByBrick.cpp.

References m_currentPosition, and ProcessIterator().

◆ ~ProcessIterator()

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

Destructor.

Definition at line 1142 of file ProcessByBrick.cpp.

References m_currentPosition.

Member Function Documentation

◆ operator!=()

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 781 of file ProcessByBrick.h.

References ProcessIterator().

◆ operator*()

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 813 of file ProcessByBrick.h.

References m_currentPosition.

◆ operator++()

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

Increment the process iterator to the next position.

Returns
*this

Definition at line 1152 of file ProcessByBrick.cpp.

References m_currentPosition.

◆ operator=()

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 802 of file ProcessByBrick.h.

References ProcessIterator(), and swap().

◆ operator==()

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 771 of file ProcessByBrick.h.

References m_currentPosition, and ProcessIterator().

◆ swap()

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

Exception-safe swap method.

Parameters
otherThe instance to swap with

Definition at line 791 of file ProcessByBrick.h.

References m_currentPosition, and ProcessIterator().

Referenced by operator=().

Member Data Documentation

◆ m_currentPosition

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

The current iterator's position/value.

Definition at line 819 of file ProcessByBrick.h.

Referenced by operator*(), operator++(), operator==(), ProcessIterator(), ProcessIterator(), swap(), and ~ProcessIterator().


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