]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/gil/doc/html/g_i_l_0374.html
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / gil / doc / html / g_i_l_0374.html
CommitLineData
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 &lt;<a class="el" href="g_i_l_0091.html">gil_concept.hpp</a>&gt;</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&lt;typename Loc&gt;<br>
50 struct boost::gil::RandomAccessNDLocatorConcept&lt; Loc &gt;</h3>
51
52N-dimensional locator over immutable values.
53<p>
54<div class="fragment"><pre class="fragment">concept RandomAccessNDLocatorConcept&lt;Regular Loc&gt; {
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&lt;difference_type&gt;; <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> &lt;<span class="keywordtype">size_t</span> D&gt; <span class="keyword">struct </span>axis {
68 <span class="keyword">typename</span> coord_t = point_t::axis&lt;D&gt;::coord_t;
69 <span class="keyword">typename</span> iterator; where RandomAccessTraversalConcept&lt;iterator&gt;; <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> &lt;PixelDereferenceAdaptorConcept Deref&gt; <span class="keyword">struct </span>add_deref {
75 <span class="keyword">typename</span> type; where RandomAccessNDLocatorConcept&lt;type&gt;;
76 <span class="keyword">static</span> type make(<span class="keyword">const</span> Loc&amp; loc, <span class="keyword">const</span> Deref&amp; deref);
77 };
78
79 Loc&amp; operator+=(Loc&amp;, <span class="keyword">const</span> difference_type&amp;);
80 Loc&amp; operator-=(Loc&amp;, <span class="keyword">const</span> difference_type&amp;);
81 Loc operator+(<span class="keyword">const</span> Loc&amp;, <span class="keyword">const</span> difference_type&amp;);
82 Loc operator-(<span class="keyword">const</span> Loc&amp;, <span class="keyword">const</span> difference_type&amp;);
83
84 reference operator*(<span class="keyword">const</span> Loc&amp;);
85 reference operator[](<span class="keyword">const</span> Loc&amp;, <span class="keyword">const</span> difference_type&amp;);
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&amp;) <span class="keyword">const</span>;
89 reference operator[](<span class="keyword">const</span> Loc&amp;,<span class="keyword">const</span> cached_location_t&amp;);
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> &lt;<span class="keywordtype">size_t</span> D&gt; axis&lt;D&gt;::iterator&amp; Loc::axis_iterator();
93 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> D&gt; axis&lt;D&gt;::iterator <span class="keyword">const</span>&amp; Loc::axis_iterator() <span class="keyword">const</span>;
94 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> D&gt; axis&lt;D&gt;::iterator Loc::axis_iterator(<span class="keyword">const</span> difference_type&amp;) <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="()" -->
100void&nbsp;</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="" -->
104Loc&nbsp;</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&nbsp;
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>