]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | <!-- Copyright 2008 Lubomir Bourdev and Hailin Jin |
2 | ||
3 | Distributed under the Boost Software License, Version 1.0. | |
4 | (See accompanying file LICENSE_1_0.txt or copy at | |
5 | http://www.boost.org/LICENSE_1_0.txt) | |
6 | --> | |
7 | ||
8 | <!-- | |
9 | Copyright 2005-2007 Adobe Systems Incorporated | |
10 | Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt | |
11 | or a copy at http://stlab.adobe.com/licenses.html) | |
12 | ||
13 | Some files are held under additional license. | |
14 | Please see "http://stlab.adobe.com/licenses.html" for more information. | |
15 | --> | |
16 | ||
17 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | |
18 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
19 | <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> | |
20 | ||
21 | <head> | |
22 | <TITLE>Generic Image Library: RandomAccessNDLocatorConcept Struct Template Reference</TITLE> | |
23 | <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/> | |
24 | <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/> | |
25 | </head> | |
26 | <body> | |
27 | <table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr> | |
28 | <td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'> | |
29 | <div class="qindex"><a class="qindex" href="index.html">Modules</a> | |
30 | | <a class="qindex" href="classes.html">Alphabetical List</a> | |
31 | | <a class="qindex" href="annotated.html">Class List</a> | |
32 | | <a class="qindex" href="dirs.html">Directories</a> | |
33 | | <a class="qindex" href="files.html">File List</a> | |
34 | | <a class="qindex" href="../index.html">GIL Home Page</a> | |
35 | </div> | |
36 | <!-- End Header --> | |
37 | <!-- Generated by Doxygen 1.5.6 --> | |
38 | <div class="navpath"><a class="el" href="namespaceboost.html">boost</a>::<b>gil</b>::<a class="el" href="g_i_l_0374.html">RandomAccessNDLocatorConcept</a> | |
39 | </div> | |
40 | <div class="contents"> | |
41 | <h1>RandomAccessNDLocatorConcept Struct Template Reference<br> | |
42 | <small> | |
43 | [<a class="el" href="g_i_l_0172.html">RandomAccessNDLocatorConcept</a>]</small> | |
44 | </h1><!-- doxytag: class="boost::gil::RandomAccessNDLocatorConcept" --><code>#include <<a class="el" href="g_i_l_0091.html">gil_concept.hpp</a>></code> | |
45 | <p> | |
46 | ||
47 | <p> | |
48 | <a href="g_i_l_0373.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> | |
49 | <h3>template<typename Loc><br> | |
50 | struct boost::gil::RandomAccessNDLocatorConcept< Loc ></h3> | |
51 | ||
52 | N-dimensional locator over immutable values. | |
53 | <p> | |
54 | <div class="fragment"><pre class="fragment">concept RandomAccessNDLocatorConcept<Regular Loc> { | |
55 | <span class="keyword">typename</span> value_type; <span class="comment">// value over which the locator navigates</span> | |
56 | <span class="keyword">typename</span> reference; <span class="comment">// result of dereferencing</span> | |
57 | <span class="keyword">typename</span> difference_type; where PointNDConcept<difference_type>; <span class="comment">// return value of operator-.</span> | |
58 | <span class="keyword">typename</span> const_t; <span class="comment">// same as Loc, but operating over immutable values</span> | |
59 | <span class="keyword">typename</span> cached_location_t; <span class="comment">// type to store relative location (for efficient repeated access)</span> | |
60 | <span class="keyword">typename</span> point_t = difference_type; | |
61 | ||
62 | <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> num_dimensions; <span class="comment">// dimensionality of the locator</span> | |
63 | where num_dimensions = point_t::num_dimensions; | |
64 | ||
65 | <span class="comment">// The difference_type and iterator type along each dimension. The iterators may only differ in </span> | |
66 | <span class="comment">// difference_type. Their value_type must be the same as Loc::value_type</span> | |
67 | <span class="keyword">template</span> <<span class="keywordtype">size_t</span> D> <span class="keyword">struct </span>axis { | |
68 | <span class="keyword">typename</span> coord_t = point_t::axis<D>::coord_t; | |
69 | <span class="keyword">typename</span> iterator; where RandomAccessTraversalConcept<iterator>; <span class="comment">// iterator along D-th axis.</span> | |
70 | where iterator::value_type == value_type; | |
71 | }; | |
72 | ||
73 | <span class="comment">// Defines the type of a locator similar to this type, except it invokes Deref upon dereferencing</span> | |
74 | <span class="keyword">template</span> <PixelDereferenceAdaptorConcept Deref> <span class="keyword">struct </span>add_deref { | |
75 | <span class="keyword">typename</span> type; where RandomAccessNDLocatorConcept<type>; | |
76 | <span class="keyword">static</span> type make(<span class="keyword">const</span> Loc& loc, <span class="keyword">const</span> Deref& deref); | |
77 | }; | |
78 | ||
79 | Loc& operator+=(Loc&, <span class="keyword">const</span> difference_type&); | |
80 | Loc& operator-=(Loc&, <span class="keyword">const</span> difference_type&); | |
81 | Loc operator+(<span class="keyword">const</span> Loc&, <span class="keyword">const</span> difference_type&); | |
82 | Loc operator-(<span class="keyword">const</span> Loc&, <span class="keyword">const</span> difference_type&); | |
83 | ||
84 | reference operator*(<span class="keyword">const</span> Loc&); | |
85 | reference operator[](<span class="keyword">const</span> Loc&, <span class="keyword">const</span> difference_type&); | |
86 | ||
87 | <span class="comment">// Storing relative location for faster repeated access and accessing it </span> | |
88 | cached_location_t Loc::cache_location(<span class="keyword">const</span> difference_type&) <span class="keyword">const</span>; | |
89 | reference operator[](<span class="keyword">const</span> Loc&,<span class="keyword">const</span> cached_location_t&); | |
90 | ||
91 | <span class="comment">// Accessing iterators along a given dimension at the current location or at a given offset</span> | |
92 | <span class="keyword">template</span> <<span class="keywordtype">size_t</span> D> axis<D>::iterator& Loc::axis_iterator(); | |
93 | <span class="keyword">template</span> <<span class="keywordtype">size_t</span> D> axis<D>::iterator <span class="keyword">const</span>& Loc::axis_iterator() <span class="keyword">const</span>; | |
94 | <span class="keyword">template</span> <<span class="keywordtype">size_t</span> D> axis<D>::iterator Loc::axis_iterator(<span class="keyword">const</span> difference_type&) <span class="keyword">const</span>; | |
95 | }; | |
96 | </pre></div> <table border="0" cellpadding="0" cellspacing="0"> | |
97 | <tr><td></td></tr> | |
98 | <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> | |
99 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0a0dbf6ca9028bbbb2240cad5882537"></a><!-- doxytag: member="boost::gil::RandomAccessNDLocatorConcept::constraints" ref="b0a0dbf6ca9028bbbb2240cad5882537" args="()" --> | |
100 | void </td><td class="memItemRight" valign="bottom"><b>constraints</b> ()</td></tr> | |
101 | ||
102 | <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> | |
103 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="78b239cb3da334ec5ca272453ae698f1"></a><!-- doxytag: member="boost::gil::RandomAccessNDLocatorConcept::loc" ref="78b239cb3da334ec5ca272453ae698f1" args="" --> | |
104 | Loc </td><td class="memItemRight" valign="bottom"><b>loc</b></td></tr> | |
105 | ||
106 | </table> | |
107 | <hr>The documentation for this struct was generated from the following file:<ul> | |
108 | <li><a class="el" href="g_i_l_0091.html">gil_concept.hpp</a></ul> | |
109 | </div> | |
110 | <hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 13:50:17 2009 for Generic Image Library by | |
111 | <a href="http://www.doxygen.org/index.html"> | |
112 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> | |
113 | </body> | |
114 | </html> |