N-dimensional locator over immutable values.
{
typename value_type;
typename reference;
typename const_t;
typename cached_location_t;
typename
point_t = difference_type;
static const size_t num_dimensions;
where num_dimensions = point_t::num_dimensions;
template <size_t D>
struct axis
{
typename coord_t = point_t::axis<D>::coord_t;
typename iterator; where RandomAccessTraversalConcept<iterator>;
where iterator::value_type == value_type;
};
template <PixelDereferenceAdaptorConcept Deref>
struct add_deref
{
typename type;
static type make(const Loc& loc, const Deref& deref);
};
Loc& operator+=(Loc&, const difference_type&);
Loc& operator-=(Loc&, const difference_type&);
Loc operator+(const Loc&, const difference_type&);
Loc operator-(const Loc&, const difference_type&);
reference operator*(const Loc&);
reference operator[](const Loc&, const difference_type&);
cached_location_t Loc::cache_location(const difference_type&) const;
reference operator[](const Loc&,const cached_location_t&);
template <size_t D> axis<D>::iterator& Loc::axis_iterator();
template <size_t D> axis<D>::iterator const& Loc::axis_iterator() const;
template <size_t D> axis<D>::iterator Loc::axis_iterator(const difference_type&) const;
};
N-dimensional point concept.
Definition: concepts/point.hpp:62
N-dimensional locator over immutable values.
Definition: pixel_locator.hpp:105
Concept for type regularity requirement.
Definition: basic.hpp:142