Proto  3.2
Public Member Functions | Private Attributes | List of all members
Proto::BoxIterator Class Reference

Iterator for Boxes. More...

#include <Proto_Box.H>

Public Member Functions

 BoxIterator ()
 Default Constructor. More...
 
 BoxIterator (const Box &a_box, int a_pos=0)
 Index Constructor. More...
 
 BoxIterator (const Box &a_box, const Point &a_pos)
 Point Constructor. More...
 
void begin ()
 Reset Iterator. More...
 
bool ok () const
 Continue Iteration Query. More...
 
bool operator== (const BoxIterator &a_iter) const
 Equality Operator. More...
 
bool operator!= (const BoxIterator &a_iter) const
 Inequality Operator. More...
 
Point operator* () const
 Dereference Iterator. More...
 
int operator() () const
 Get Index. More...
 
BoxIteratoroperator++ ()
 Prefix Increment Iterator. More...
 
BoxIteratoroperator-- ()
 Prefix Decrement Iterator. More...
 
BoxIterator operator++ (int)
 Postfix Increment Iterator. More...
 
BoxIterator operator-- (int)
 Postfix Decrement Iterator. More...
 

Private Attributes

Box m_box
 
int m_pos
 

Detailed Description

Iterator for Boxes.

Iteration class which conforms to most of the syntax of std Iterator implementations.

Example:

Box box = Box::Cube(8);
// STL style iteration
for (auto biter = box.begin(); biter != box.end(); ++biter)
{
(*biter).print(); //prints all the points in box
}
// Alternate style
for (auto biter = box.begin(); biter.ok(); ++biter)
{
(*biter).print(); //prints all the points in box
}

Constructor & Destructor Documentation

◆ BoxIterator() [1/3]

Proto::BoxIterator::BoxIterator ( )
inline

Default Constructor.

◆ BoxIterator() [2/3]

Proto::BoxIterator::BoxIterator ( const Box a_box,
int  a_pos = 0 
)
inline

Index Constructor.

◆ BoxIterator() [3/3]

Proto::BoxIterator::BoxIterator ( const Box a_box,
const Point a_pos 
)
inline

Point Constructor.

Member Function Documentation

◆ begin()

void Proto::BoxIterator::begin ( )
inline

Reset Iterator.

References Proto::Box::operator==().

◆ ok()

bool Proto::BoxIterator::ok ( ) const
inline

Continue Iteration Query.

◆ operator==()

bool Proto::BoxIterator::operator== ( const BoxIterator a_iter) const
inline

Equality Operator.

Returns true for two iterators with identical iteration index and Box. The Box instances need not be the same.

◆ operator!=()

bool Proto::BoxIterator::operator!= ( const BoxIterator a_iter) const
inline

Inequality Operator.

◆ operator*()

Point Proto::BoxIterator::operator* ( ) const
inline

Dereference Iterator.

Returns a Point

◆ operator()()

int Proto::BoxIterator::operator() ( ) const
inline

Get Index.

Returns the current index of the point *(*this).

◆ operator++() [1/2]

BoxIterator& Proto::BoxIterator::operator++ ( )
inline

Prefix Increment Iterator.

◆ operator--() [1/2]

BoxIterator& Proto::BoxIterator::operator-- ( )
inline

Prefix Decrement Iterator.

◆ operator++() [2/2]

BoxIterator Proto::BoxIterator::operator++ ( int  )
inline

Postfix Increment Iterator.

◆ operator--() [2/2]

BoxIterator Proto::BoxIterator::operator-- ( int  )
inline

Postfix Decrement Iterator.

Member Data Documentation

◆ m_box

Box Proto::BoxIterator::m_box
private

◆ m_pos

int Proto::BoxIterator::m_pos
private

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