Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > 623999701586b0ea103ff2ccad7954a6 > files > 6501

boost-doc-1.44.0-1.fc14.noarch.rpm

<!-- Copyright 2008 Lubomir Bourdev and Hailin Jin

     Distributed under the Boost Software License, Version 1.0.
     (See accompanying file LICENSE_1_0.txt or copy at
     http://www.boost.org/LICENSE_1_0.txt)
  -->

<!--
    Copyright 2005-2007 Adobe Systems Incorporated
    Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
    or a copy at http://stlab.adobe.com/licenses.html)

    Some files are held under additional license.
    Please see "http://stlab.adobe.com/licenses.html" for more information.
-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

<head>
    <TITLE>Generic Image Library: RandomAccessNDLocatorConcept Struct Template Reference</TITLE>
    <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
    <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
<div class="qindex"><a class="qindex" href="index.html">Modules</a> 
                  | <a class="qindex" href="classes.html">Alphabetical List</a> 
                  | <a class="qindex" href="annotated.html">Class List</a> 
                  | <a class="qindex" href="dirs.html">Directories</a> 
                  | <a class="qindex" href="files.html">File List</a> 
                  | <a class="qindex" href="../index.html">GIL Home Page</a> 
</div>
<!-- End Header -->
<!-- Generated by Doxygen 1.5.6 -->
  <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>
  </div>
<div class="contents">
<h1>RandomAccessNDLocatorConcept Struct Template Reference<br>
<small>
[<a class="el" href="g_i_l_0172.html">RandomAccessNDLocatorConcept</a>]</small>
</h1><!-- doxytag: class="boost::gil::RandomAccessNDLocatorConcept" --><code>#include &lt;<a class="el" href="g_i_l_0091.html">gil_concept.hpp</a>&gt;</code>
<p>

<p>
<a href="g_i_l_0373.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename Loc&gt;<br>
 struct boost::gil::RandomAccessNDLocatorConcept&lt; Loc &gt;</h3>

N-dimensional locator over immutable values. 
<p>
<div class="fragment"><pre class="fragment">concept RandomAccessNDLocatorConcept&lt;Regular Loc&gt; {    
    <span class="keyword">typename</span> value_type;        <span class="comment">// value over which the locator navigates</span>
    <span class="keyword">typename</span> reference;         <span class="comment">// result of dereferencing</span>
    <span class="keyword">typename</span> difference_type; where PointNDConcept&lt;difference_type&gt;; <span class="comment">// return value of operator-.</span>
    <span class="keyword">typename</span> const_t;           <span class="comment">// same as Loc, but operating over immutable values</span>
    <span class="keyword">typename</span> cached_location_t; <span class="comment">// type to store relative location (for efficient repeated access)</span>
    <span class="keyword">typename</span> point_t  = difference_type;
    
    <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>
    where num_dimensions = point_t::num_dimensions;
    
    <span class="comment">// The difference_type and iterator type along each dimension. The iterators may only differ in </span>
    <span class="comment">// difference_type. Their value_type must be the same as Loc::value_type</span>
    <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> D&gt; <span class="keyword">struct </span>axis {
        <span class="keyword">typename</span> coord_t = point_t::axis&lt;D&gt;::coord_t;
        <span class="keyword">typename</span> iterator; where RandomAccessTraversalConcept&lt;iterator&gt;; <span class="comment">// iterator along D-th axis.</span>
        where iterator::value_type == value_type;
    };

    <span class="comment">// Defines the type of a locator similar to this type, except it invokes Deref upon dereferencing</span>
    <span class="keyword">template</span> &lt;PixelDereferenceAdaptorConcept Deref&gt; <span class="keyword">struct </span>add_deref {
        <span class="keyword">typename</span> type;        where RandomAccessNDLocatorConcept&lt;type&gt;;
        <span class="keyword">static</span> type make(<span class="keyword">const</span> Loc&amp; loc, <span class="keyword">const</span> Deref&amp; deref);
    };
    
    Loc&amp; operator+=(Loc&amp;, <span class="keyword">const</span> difference_type&amp;);
    Loc&amp; operator-=(Loc&amp;, <span class="keyword">const</span> difference_type&amp;);
    Loc operator+(<span class="keyword">const</span> Loc&amp;, <span class="keyword">const</span> difference_type&amp;);
    Loc operator-(<span class="keyword">const</span> Loc&amp;, <span class="keyword">const</span> difference_type&amp;);
    
    reference operator*(<span class="keyword">const</span> Loc&amp;);
    reference operator[](<span class="keyword">const</span> Loc&amp;, <span class="keyword">const</span> difference_type&amp;);
 
    <span class="comment">// Storing relative location for faster repeated access and accessing it   </span>
    cached_location_t Loc::cache_location(<span class="keyword">const</span> difference_type&amp;) <span class="keyword">const</span>;
    reference operator[](<span class="keyword">const</span> Loc&amp;,<span class="keyword">const</span> cached_location_t&amp;);
    
    <span class="comment">// Accessing iterators along a given dimension at the current location or at a given offset</span>
    <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> D&gt; axis&lt;D&gt;::iterator&amp;       Loc::axis_iterator();
    <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>;
    <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>;
};
</pre></div> <table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0a0dbf6ca9028bbbb2240cad5882537"></a><!-- doxytag: member="boost::gil::RandomAccessNDLocatorConcept::constraints" ref="b0a0dbf6ca9028bbbb2240cad5882537" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>constraints</b> ()</td></tr>

<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="78b239cb3da334ec5ca272453ae698f1"></a><!-- doxytag: member="boost::gil::RandomAccessNDLocatorConcept::loc" ref="78b239cb3da334ec5ca272453ae698f1" args="" -->
Loc&nbsp;</td><td class="memItemRight" valign="bottom"><b>loc</b></td></tr>

</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="g_i_l_0091.html">gil_concept.hpp</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 13:50:17 2009 for Generic Image Library by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>