The type used to move around the grid in an arbitrary manner. More...
#include <ash/impl/hashgrid.h>
Inherits ash::grid_navigator< Grid, Itr, Mod, _D >.
Public Types | |
typedef Mod< typename Grid::node_type * >::type | node_ptr |
typedef Mod< Grid * >::type | box_ptr |
typedef Grid | box_type |
typedef Grid::key_type | key_type |
typedef Grid::morton_type | morton_type |
typedef Grid::pcoord_type | pcoord_type |
typedef Grid::point_type | point_type |
typedef geometric_axis_iterator < grid_navigator, AXIS_X > | x_type |
The interface type for x-axis iteration. | |
typedef geometric_axis_iterator < grid_navigator, AXIS_Y > | y_type |
The interface type for y-axis iteration. | |
Iterator Traits | |
typedef Grid::value_type | value_type |
typedef Mod< value_type * >::type | pointer |
typedef Mod< value_type & >::type | reference |
typedef Grid::size_type | size_type |
typedef Grid::difference_type | difference_type |
typedef void | iterator_category |
Public Member Functions | |
grid_navigator & | jump (key_type const &loc) |
Go directly to an arbitrary location on the grid. | |
bool | valid () const |
Check if the navigator is dereferenceable. | |
void | _go () |
void | _go (uint8 l) |
Comparison Operators | |
Templated so we can compare const and mutable versions. | |
template<class I , template< class > class M> | |
bool | operator== (grid_navigator< Grid, I, M, D > const &nav) const |
Equality operator. | |
template<class I , template< class > class M> | |
bool | operator== (graph_iterator< typename Grid::_Base, I, M > const &itr) const |
Equality operator - iterator. | |
template<class I , template< class > class M> | |
bool | operator!= (grid_navigator< Grid, I, M, D > const &nav) const |
Inequality operator. | |
template<class I , template< class > class M> | |
bool | operator!= (graph_iterator< typename Grid::_Base, I, M > const &itr) const |
Inequality operator - iterator. | |
Dereference Operators | |
reference | operator* () const |
pointer | operator-> () const |
Public Attributes | |
union { | |
x_type x | |
The x-axis iteration interface. | |
y_type y | |
The y-axis iteration interface. | |
}; | |
morton_type | pos |
The current location. | |
node_ptr | _node |
box_ptr | _M_box |
Static Public Attributes | |
static const DIM | D = DIM_2D |
static const size_type | end = static_cast< typename Grid::size_type >(-1) |
Constructors/Destructors | |
We use the default copy constructor. We use the default destructor. | |
navigator () | |
Default constructor. | |
navigator (navigator_base const &nav) | |
Conversion constructor - base class. | |
navigator (iterator_base const &itr) | |
Conversion constructor - iterator. |
The type used to move around the grid in an arbitrary manner.
This is conversion-constructable from an iterator, so any function which returns an iterator can also give you a navigator.
Concept: ash::hash_grid
typedef void ash::grid_navigator< Grid, Itr, Mod, _D >::iterator_category [inherited] |
typedef geometric_axis_iterator<grid_navigator, AXIS_X> ash::grid_navigator< Grid, Itr, Mod, _D >::x_type [inherited] |
The interface type for x-axis iteration.
typedef geometric_axis_iterator<grid_navigator, AXIS_Y> ash::grid_navigator< Grid, Itr, Mod, _D >::y_type [inherited] |
The interface type for y-axis iteration.
ash::hashgrid::navigator::navigator | ( | ) | [inline] |
Default constructor.
ash::hashgrid::navigator::navigator | ( | navigator_base const & | nav | ) | [inline] |
Conversion constructor - base class.
ash::hashgrid::navigator::navigator | ( | iterator_base const & | itr | ) | [inline] |
Conversion constructor - iterator.
grid_navigator& ash::grid_navigator< Grid, Itr, Mod, _D >::jump | ( | key_type const & | loc | ) | [inline, inherited] |
Go directly to an arbitrary location on the grid.
loc | The destination. |
bool ash::grid_navigator< Grid, Itr, Mod, _D >::operator!= | ( | grid_navigator< Grid, I, M, D > const & | nav | ) | const [inline, inherited] |
Inequality operator.
bool ash::grid_navigator< Grid, Itr, Mod, _D >::operator!= | ( | graph_iterator< typename Grid::_Base, I, M > const & | itr | ) | const [inline, inherited] |
Inequality operator - iterator.
bool ash::grid_navigator< Grid, Itr, Mod, _D >::operator== | ( | grid_navigator< Grid, I, M, D > const & | nav | ) | const [inline, inherited] |
Equality operator.
bool ash::grid_navigator< Grid, Itr, Mod, _D >::operator== | ( | graph_iterator< typename Grid::_Base, I, M > const & | itr | ) | const [inline, inherited] |
Equality operator - iterator.
bool ash::grid_navigator< Grid, Itr, Mod, _D >::valid | ( | ) | const [inline, inherited] |
Check if the navigator is dereferenceable.
morton_type ash::grid_navigator< Grid, Itr, Mod, _D >::pos [inherited] |
The current location.
x_type ash::grid_navigator< Grid, Itr, Mod, _D >::x [inherited] |
The x-axis iteration interface.
y_type ash::grid_navigator< Grid, Itr, Mod, _D >::y [inherited] |
The y-axis iteration interface.
© 2012 | Licensed under | Hosted by | Generated by 1.7.4 |