Fréchet View  1.6.0
A Tool for Exploring Fréchet Distance Algorithms
frechet::reach::StructureIterator Class Reference

Detailed Description

The StructureIterator class.

Iterates segments on the border of the reachability structure. An interval can be passed. If the interval spans two edges (bottom->left, or right->top) the iterator takes the bend at the corner.

See also
Direction
Author
Peter Schäfer

Definition at line 488 of file structure.h.

#include <structure.h>

Public Member Functions

 StructureIterator (const Structure &str, Pointer first, Pointer last)
 constructor with two segments More...
 
 StructureIterator (const Structure &str, const PointerInterval &ival, Pointer ifnull=nullptr)
 constructor with interval of segments More...
 
 operator bool () const
 true if the iterator is pointing to a valid interval; false if the iterator has gone off the range More...
 
bool operator! () const
 
 operator Pointer ()
 pointer to current interval More...
 
BoundarySegmentoperator * ()
 
BoundarySegmentoperator -> ()
 
StructureIteratoroperator++ ()
 pre-increment; advance the iterator More...
 

Private Attributes

const Structurestr
 the associated reachability structure More...
 
Pointer current
 current location of the iterator More...
 
Pointer last
 last segment More...
 

Constructor & Destructor Documentation

◆ StructureIterator() [1/2]

frechet::reach::StructureIterator::StructureIterator ( const Structure str,
Pointer  first,
Pointer  last 
)

constructor with two segments

Parameters
strthe associated reachability structure
firstfirst segment (inclusive)
lastlast segment (inclusive)

◆ StructureIterator() [2/2]

frechet::reach::StructureIterator::StructureIterator ( const Structure str,
const PointerInterval ival,
Pointer  ifnull = nullptr 
)

constructor with interval of segments

Parameters
strthe associated reachability structure
ivalinterval
ifnullfallback, if one of the interval pointers is null (which is often the case with see-through segments)

Member Function Documentation

◆ operator *()

BoundarySegment& frechet::reach::StructureIterator::operator * ( )
inline
Returns
reference to current interval; (undefined if the iterator is not valid)

Definition at line 534 of file structure.h.

◆ operator ->()

BoundarySegment* frechet::reach::StructureIterator::operator -> ( )
inline
Returns
pointer to current interval

Definition at line 538 of file structure.h.

◆ operator bool()

frechet::reach::StructureIterator::operator bool ( ) const
inline

true if the iterator is pointing to a valid interval; false if the iterator has gone off the range

Definition at line 520 of file structure.h.

◆ operator Pointer()

frechet::reach::StructureIterator::operator Pointer ( )
inlineexplicit

pointer to current interval

Definition at line 529 of file structure.h.

◆ operator!()

bool frechet::reach::StructureIterator::operator! ( ) const
inline
Returns
true, if the iterator has gone off the range

Definition at line 524 of file structure.h.

◆ operator++()

StructureIterator & StructureIterator::operator++ ( )

pre-increment; advance the iterator

Returns
reference to this iterator, after being advanced

Definition at line 1042 of file structure.cpp.

Member Data Documentation

◆ current

Pointer frechet::reach::StructureIterator::current
private

current location of the iterator

Definition at line 494 of file structure.h.

◆ last

Pointer frechet::reach::StructureIterator::last
private

last segment

Definition at line 496 of file structure.h.

◆ str

const Structure& frechet::reach::StructureIterator::str
private

the associated reachability structure

Definition at line 492 of file structure.h.


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