Generic Image Library: RandomAccessNDImageViewConcept< View > Struct Template Reference

###  | #  |

Public Member Functions | Public Attributes | List of all members
RandomAccessNDImageViewConcept< View > Struct Template Reference
Image View » Concepts » ImageViewNDLocatorConcept

N-dimensional view over immutable values. More...

`#include <image_view.hpp>`

## Public Member Functions
void | constraints ()

## Public Attributes
View | view

## Detailed Description

template<typename View>
struct boost::gil::RandomAccessNDImageViewConcept< View >

N-dimensional view over immutable values.

concept RandomAccessNDImageViewConcept<Regular View>
{
typename value_type;
typename reference; // result of dereferencing
typename difference_type; // result of operator-(iterator,iterator) (1-dimensional!)
typename const_t; where RandomAccessNDImageViewConcept<View>; // same as View, but over immutable values
typename point_t; where PointNDConcept<point_t>; // N-dimensional point
typename locator; where RandomAccessNDLocatorConcept<locator>; // N-dimensional locator.
typename iterator; where RandomAccessTraversalConcept<iterator>; // 1-dimensional iterator over all values
typename reverse_iterator; where RandomAccessTraversalConcept<reverse_iterator>;
typename size_type; // the return value of size()
// Equivalent to RandomAccessNDLocatorConcept::axis
template <size_t D> struct axis {
typename coord_t = point_t::axis<D>::coord_t;
typename iterator; where RandomAccessTraversalConcept<iterator>; // iterator along D-th axis.
where SameType<coord_t, iterator::difference_type>;
where SameType<iterator::value_type,value_type>;
};
// Defines the type of a view similar to this type, except it invokes Deref upon dereferencing
template <PixelDereferenceAdaptorConcept Deref> struct add_deref {
typename type; where RandomAccessNDImageViewConcept<type>;
static type make(const View& v, const Deref& deref);
};
static const size_t num_dimensions = point_t::num_dimensions;
// Create from a locator at the top-left corner and dimensions
View::View(const locator&, const point_type&);
size_type View::size() const; // total number of elements
reference operator[](View, const difference_type&) const; // 1-dimensional reference
iterator View::begin() const;
iterator View::end() const;
reverse_iterator View::rbegin() const;
reverse_iterator View::rend() const;
iterator View::at(point_t const&);
point_t View::dimensions() const; // number of elements along each dimension
bool View::is_1d_traversable() const; // can an iterator over the first dimension visit each value? I.e. are there gaps between values?
// iterator along a given dimension starting at a given point
template <size_t D> View::axis<D>::iterator View::axis_iterator(point_t const&) const;
reference operator()(View,point_t const&) const;
};
boost::gil::PointNDConcept
N-dimensional point concept.
Definition concepts/point.hpp:62
boost::gil::RandomAccessNDImageViewConcept
N-dimensional view over immutable values.
Definition concepts/image_view.hpp:104
boost::gil::RandomAccessNDLocatorConcept
N-dimensional locator over immutable values.
Definition pixel_locator.hpp:105
boost::gil::Regular
Concept for type regularity requirement.
Definition basic.hpp:142
boost::gil::SameType
Concept of types equivalence requirement.
Definition basic.hpp:179
boost::gil::type

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

- concepts/image_view.hpp