Public Member Functions | Protected Member Functions | Protected Attributes
nav_grid_iterators::BaseIterator< Derived > Class Template Reference

#include <base_iterator.h>

List of all members.

Public Member Functions

 BaseIterator (const nav_grid::NavGridInfo *info)
 Public Constructor. Takes in a pointer to the info and starts at the minimum index.
 BaseIterator (const nav_grid::NavGridInfo &info)
 Public Constructor. Takes in a reference to the info and starts at the minimum index.
virtual Derived begin () const =0
 Helper function for range-style iteration Equivalent to the above constructor.
virtual Derived end () const =0
 Helper function for range-style iteration.
virtual bool fieldsEqual (const Derived &other)
 Additional check for whether fields of derived iterators are equal.
virtual void increment ()=0
 Increase the iterator to the next element.
bool operator!= (const Derived &other)
 Test if two iterators are not equivalent - required for testing if iterator is at the end.
const nav_grid::Index & operator* () const
 Dereference the iterator.
Derived & operator++ ()
 Increase the iterator to the next element.
bool operator== (const Derived &other)
 Test if two iterators are equivalent.
virtual ~BaseIterator ()
 Destructor.

Protected Member Functions

 BaseIterator (const nav_grid::NavGridInfo *info, const nav_grid::Index &index)
 Protected constructor that takes in an arbitrary index.

Protected Attributes

nav_grid::Index index_
const nav_grid::NavGridInfoinfo_

Detailed Description

template<class Derived>
class nav_grid_iterators::BaseIterator< Derived >

Definition at line 44 of file base_iterator.h.


Constructor & Destructor Documentation

template<class Derived>
nav_grid_iterators::BaseIterator< Derived >::BaseIterator ( const nav_grid::NavGridInfo info) [inline, explicit]

Public Constructor. Takes in a pointer to the info and starts at the minimum index.

Parameters:
infoNavGridInfo for the grid to iterate over

Definition at line 51 of file base_iterator.h.

template<class Derived>
nav_grid_iterators::BaseIterator< Derived >::BaseIterator ( const nav_grid::NavGridInfo info) [inline, explicit]

Public Constructor. Takes in a reference to the info and starts at the minimum index.

Parameters:
infoNavGridInfo for the grid to iterate over

Definition at line 57 of file base_iterator.h.

template<class Derived>
virtual nav_grid_iterators::BaseIterator< Derived >::~BaseIterator ( ) [virtual]

Destructor.

template<class Derived>
nav_grid_iterators::BaseIterator< Derived >::BaseIterator ( const nav_grid::NavGridInfo info,
const nav_grid::Index &  index 
) [inline, protected]

Protected constructor that takes in an arbitrary index.

Parameters:
infoNavGridInfo for the grid to iterate over
indexInitial index

Definition at line 132 of file base_iterator.h.


Member Function Documentation

template<class Derived>
virtual Derived nav_grid_iterators::BaseIterator< Derived >::begin ( ) const [pure virtual]

Helper function for range-style iteration Equivalent to the above constructor.

Returns:
Iterator representing beginning of the iteration

Implemented in nav_grid_iterators::SubGrid, nav_grid_iterators::CircleOutline, nav_grid_iterators::Line, nav_grid_iterators::CircleFill, nav_grid_iterators::Spiral, nav_grid_iterators::PolygonFill, nav_grid_iterators::PolygonOutline, and nav_grid_iterators::WholeGrid.

template<class Derived>
virtual Derived nav_grid_iterators::BaseIterator< Derived >::end ( ) const [pure virtual]
template<class Derived>
virtual bool nav_grid_iterators::BaseIterator< Derived >::fieldsEqual ( const Derived &  other) [inline, virtual]

Additional check for whether fields of derived iterators are equal.

Helps make overriding the == operator easy.

Reimplemented in nav_grid_iterators::SubGrid, nav_grid_iterators::CircleOutline, nav_grid_iterators::Line, nav_grid_iterators::CircleFill, nav_grid_iterators::Spiral, nav_grid_iterators::PolygonFill, and nav_grid_iterators::PolygonOutline.

Definition at line 95 of file base_iterator.h.

template<class Derived>
virtual void nav_grid_iterators::BaseIterator< Derived >::increment ( ) [pure virtual]
template<class Derived>
bool nav_grid_iterators::BaseIterator< Derived >::operator!= ( const Derived &  other) [inline]

Test if two iterators are not equivalent - required for testing if iterator is at the end.

Definition at line 88 of file base_iterator.h.

template<class Derived>
const nav_grid::Index& nav_grid_iterators::BaseIterator< Derived >::operator* ( ) const [inline]

Dereference the iterator.

Returns:
the index to which the iterator is pointing.

Definition at line 101 of file base_iterator.h.

template<class Derived>
Derived& nav_grid_iterators::BaseIterator< Derived >::operator++ ( ) [inline]

Increase the iterator to the next element.

Returns:
a reference to the updated iterator.

Definition at line 107 of file base_iterator.h.

template<class Derived>
bool nav_grid_iterators::BaseIterator< Derived >::operator== ( const Derived &  other) [inline]

Test if two iterators are equivalent.

Derived classes may want to implement the fieldsEqual function for checking if additional fields beyond the index and info are equal.

Definition at line 83 of file base_iterator.h.


Member Data Documentation

template<class Derived>
nav_grid::Index nav_grid_iterators::BaseIterator< Derived >::index_ [protected]

Definition at line 135 of file base_iterator.h.

template<class Derived>
const nav_grid::NavGridInfo* nav_grid_iterators::BaseIterator< Derived >::info_ [protected]

Definition at line 134 of file base_iterator.h.


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


nav_grid_iterators
Author(s):
autogenerated on Wed Jun 26 2019 20:09:45