Adobe Systems, Inc.

RandomAccessNDImageViewConcept< VIEW > Struct Template Reference
[N-Dimensional Image View]

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

#include <gil_concept.hpp>

List of all members.


Public Member Functions

void constraints ()

Public Attributes

VIEW view

Detailed Description

template<typename VIEW>
struct RandomAccessNDImageViewConcept< VIEW >

template <typename VIEW>
concept RandomAccessNDImageViewConcept : ValueType<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 domain_t = value_type; 
    typename point_t;  where PointNDConcept<point_t>; // N-dimensional point
    typename locator;  where RandomAccessNDLocatorConcept<locator>; // N-dimensional locator.
    typename iterator; where RandomAccessIteratorConcept<iterator>; // 1-dimensional iterator over all values
    typename reverse_iterator; where RandomAccessIteratorConcept<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 RandomAccessIteratorConcept<iterator>;   // iterator along N-th axis.
        where coord_t = iterator::difference_type;
    };

    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&);
    
 // 1-dimensional operations
    size_type        VIEW::size()       const; // total number of elements
    reference        operator[](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(const point_t&);
    
 // N-dimensional operations
    point_t          dimensions() const; // number of elements along each dimension

    // iterator along a given dimension starting at a given point
    template <size_t D> axis<D>::iterator axis_iterator(const point_t&) const;

    reference operator()(const point_t&) const;
};

Definition at line 1335 of file gil_concept.hpp.

Copyright © 2006 Adobe Systems Incorporated.

Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy.

Search powered by Google