The type used to move around the matrix in an arbitrary manner. More...
#include <ash/impl/hashmatrix.h>
Inherits ash::matrix_navigator< Mtx, Itr, Mod, _D >.
Public Types | |
typedef Mod< Mtx * >::type | container_ptr |
typedef Mtx | container_type |
typedef Mtx::key_type | key_type |
typedef Mtx::morton_type | morton_type |
typedef Mtx::pcoord_type | pcoord_type |
typedef Mtx::point_type | point_type |
typedef geometric_axis_iterator < matrix_navigator, AXIS_X > | x_type |
The interface type for x-axis iteration. | |
typedef geometric_axis_iterator < matrix_navigator, AXIS_Y > | y_type |
The interface type for y-axis iteration. | |
Iterator Traits | |
typedef Mtx::value_type | value_type |
typedef Mod< value_type * >::type | pointer |
typedef Mod< value_type & >::type | reference |
typedef Mtx::size_type | size_type |
typedef Mtx::difference_type | difference_type |
typedef void | iterator_category |
Public Member Functions | |
matrix_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 (int=0) |
Comparison Operators | |
template<class I , template< class > class M> | |
bool | operator== (matrix_navigator< Mtx, I, M, D > const &nav) const |
Equality operator. | |
template<class I , template< class > class M> | |
bool | operator== (matrix_iterator< Mtx, I, M > const &itr) const |
Equality operator - iterator. | |
template<class I , template< class > class M> | |
bool | operator!= (matrix_navigator< Mtx, I, M, D > const &nav) const |
Inequality operator. | |
template<class I , template< class > class M> | |
bool | operator!= (matrix_iterator< Mtx, 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. | |
container_ptr | _M_box |
pointer | _element |
Static Public Attributes | |
static const DIM | D = DIM_2D |
static const size_type | end = impl::matrix_keys<morton_type>::end |
Marker for the end. | |
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 matrix 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_matrix
typedef void ash::matrix_navigator< Mtx, Itr, Mod, _D >::iterator_category [inherited] |
typedef geometric_axis_iterator<matrix_navigator, AXIS_X> ash::matrix_navigator< Mtx, Itr, Mod, _D >::x_type [inherited] |
The interface type for x-axis iteration.
typedef geometric_axis_iterator<matrix_navigator, AXIS_Y> ash::matrix_navigator< Mtx, Itr, Mod, _D >::y_type [inherited] |
The interface type for y-axis iteration.
ash::hashmatrix::navigator::navigator | ( | ) | [inline] |
Default constructor.
ash::hashmatrix::navigator::navigator | ( | navigator_base const & | nav | ) | [inline] |
Conversion constructor - base class.
ash::hashmatrix::navigator::navigator | ( | iterator_base const & | itr | ) | [inline] |
Conversion constructor - iterator.
void ash::matrix_navigator< Mtx, Itr, Mod, _D >::_go | ( | int | = 0 | ) | [inline, inherited] |
matrix_navigator& ash::matrix_navigator< Mtx, Itr, Mod, _D >::jump | ( | key_type const & | loc | ) | [inline, inherited] |
Go directly to an arbitrary location on the grid.
loc | The destination. |
bool ash::matrix_navigator< Mtx, Itr, Mod, _D >::operator!= | ( | matrix_navigator< Mtx, I, M, D > const & | nav | ) | const [inline, inherited] |
Inequality operator.
bool ash::matrix_navigator< Mtx, Itr, Mod, _D >::operator!= | ( | matrix_iterator< Mtx, I, M > const & | itr | ) | const [inline, inherited] |
Inequality operator - iterator.
bool ash::matrix_navigator< Mtx, Itr, Mod, _D >::operator== | ( | matrix_navigator< Mtx, I, M, D > const & | nav | ) | const [inline, inherited] |
Equality operator.
bool ash::matrix_navigator< Mtx, Itr, Mod, _D >::operator== | ( | matrix_iterator< Mtx, I, M > const & | itr | ) | const [inline, inherited] |
Equality operator - iterator.
bool ash::matrix_navigator< Mtx, Itr, Mod, _D >::valid | ( | ) | const [inline, inherited] |
Check if the navigator is dereferenceable.
pointer ash::matrix_navigator< Mtx, Itr, Mod, _D >::_element [inherited] |
container_ptr ash::matrix_navigator< Mtx, Itr, Mod, _D >::_M_box [inherited] |
const size_type ash::matrix_navigator< Mtx, Itr, Mod, _D >::end = impl::matrix_keys<morton_type>::end [static, inherited] |
Marker for the end.
morton_type ash::matrix_navigator< Mtx, Itr, Mod, _D >::pos [inherited] |
The current location.
x_type ash::matrix_navigator< Mtx, Itr, Mod, _D >::x [inherited] |
The x-axis iteration interface.
y_type ash::matrix_navigator< Mtx, Itr, Mod, _D >::y [inherited] |
The y-axis iteration interface.
© 2012 | Licensed under | Hosted by | Generated by 1.7.4 |