2
0
mirror of https://github.com/boostorg/gil.git synced 2026-01-25 06:12:22 +00:00
Files
gil/develop/doc/html/reference/device__n_8hpp_source.html

151 lines
20 KiB
HTML

<!-- 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>device_n.hpp Source File</TITLE>
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
<link type="text/css" rel="stylesheet" href="../_static/style.css">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
</head>
<body>
<div class="header">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
<tr>
<td valign="top" width="300">
<h3><a href="../index.html"><img
alt="Boost GIL" src="../_static/gil.png" border="0"></a></h3>
</td>
<td >
<h1 align="center"><a href="../index.html"></a></h1>
</td>
<td>
</td>
</tr>
</table>
</div>
<hr/>
<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>
</div>
<!-- End Header -->
<!-- Generated by Doxygen 1.8.6 -->
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_1878a3f4746a95c6aad317458cc7ef80.html">boost</a></li><li class="navelem"><a class="el" href="dir_df4750f408086f9b9c1b5ee4251365ff.html">gil</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">device_n.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="device__n_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> Copyright 2005-2007 Adobe Systems Incorporated</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> Use, modification and distribution are subject to the Boost Software License,</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> http://www.boost.org/LICENSE_1_0.txt).</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> See http://stlab.adobe.com/gil for most recent version including documentation.</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">/*************************************************************************************************/</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#ifndef GIL_DEVICE_N_H</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GIL_DEVICE_N_H</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &lt;boost/config.hpp&gt;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &lt;boost/mpl/range_c.hpp&gt;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &lt;boost/mpl/vector_c.hpp&gt;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="gil__config_8hpp.html">gil_config.hpp</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="utilities_8hpp.html">utilities.hpp</a>&quot;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="metafunctions_8hpp.html">metafunctions.hpp</a>&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">namespace </span>boost { <span class="keyword">namespace </span>gil {</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structboost_1_1gil_1_1devicen__color__t.html"> 39</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N&gt; <span class="keyword">struct </span><a class="code" href="structboost_1_1gil_1_1devicen__color__t.html">devicen_color_t</a> {};</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N&gt; <span class="keyword">struct </span>devicen_t;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="structboost_1_1gil_1_1devicen__t_3_011_01_4.html"> 45</a></span>&#160;<span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>devicen_t&lt;1&gt; : <span class="keyword">public</span> mpl::vector1&lt;devicen_color_t&lt;0&gt; &gt; {};</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structboost_1_1gil_1_1devicen__t_3_012_01_4.html"> 49</a></span>&#160;<span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>devicen_t&lt;2&gt; : <span class="keyword">public</span> mpl::vector2&lt;devicen_color_t&lt;0&gt;, devicen_color_t&lt;1&gt; &gt; {};</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structboost_1_1gil_1_1devicen__t_3_013_01_4.html"> 53</a></span>&#160;<span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>devicen_t&lt;3&gt; : <span class="keyword">public</span> mpl::vector3&lt;devicen_color_t&lt;0&gt;, devicen_color_t&lt;1&gt;, devicen_color_t&lt;2&gt; &gt; {};</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structboost_1_1gil_1_1devicen__t_3_014_01_4.html"> 57</a></span>&#160;<span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>devicen_t&lt;4&gt; : <span class="keyword">public</span> mpl::vector4&lt;devicen_color_t&lt;0&gt;, devicen_color_t&lt;1&gt;, devicen_color_t&lt;2&gt;, devicen_color_t&lt;3&gt; &gt; {};</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structboost_1_1gil_1_1devicen__t_3_015_01_4.html"> 61</a></span>&#160;<span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>devicen_t&lt;5&gt; : <span class="keyword">public</span> mpl::vector5&lt;devicen_color_t&lt;0&gt;, devicen_color_t&lt;1&gt;, devicen_color_t&lt;2&gt;, devicen_color_t&lt;3&gt;, devicen_color_t&lt;4&gt; &gt; {};</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structboost_1_1gil_1_1devicen__layout__t.html"> 65</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N&gt; <span class="keyword">struct </span><a class="code" href="structboost_1_1gil_1_1devicen__layout__t.html">devicen_layout_t</a> : <span class="keyword">public</span> <a class="code" href="structboost_1_1gil_1_1layout.html">layout</a>&lt;devicen_t&lt;N&gt; &gt; {};</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> IC&gt;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structboost_1_1gil_1_1type__from__x__iterator.html">type_from_x_iterator&lt;planar_pixel_iterator&lt;IC,devicen_t&lt;2&gt;</a> &gt; &gt;::view_t</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="group___image_view_constructors.html#ga772354350229fa94e1e80466be41b571"> 71</a></span>&#160;<a class="code" href="group___image_view_constructors.html#ga2f63988d27c4a8c9d67474d0e94c12a2">planar_devicen_view</a>(std::size_t width, std::size_t height, IC c0, IC c1, std::ptrdiff_t rowsize_in_bytes) {</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structboost_1_1gil_1_1type__from__x__iterator.html">type_from_x_iterator&lt;planar_pixel_iterator&lt;IC,devicen_t&lt;2&gt;</a> &gt; &gt;::view_t view_t;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> view_t(width, height, <span class="keyword">typename</span> view_t::locator(<span class="keyword">typename</span> view_t::x_iterator(c0,c1), rowsize_in_bytes));</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> IC&gt;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="keyword">inline</span> <span class="keyword">typename</span> type_from_x_iterator&lt;planar_pixel_iterator&lt;IC,devicen_t&lt;3&gt; &gt; &gt;::view_t</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="group___image_view_constructors.html#gaaa80d9c079c27004cfac8ddafce692b7"> 80</a></span>&#160;<a class="code" href="group___image_view_constructors.html#ga2f63988d27c4a8c9d67474d0e94c12a2">planar_devicen_view</a>(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, std::ptrdiff_t rowsize_in_bytes) {</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structboost_1_1gil_1_1type__from__x__iterator.html">type_from_x_iterator&lt;planar_pixel_iterator&lt;IC,devicen_t&lt;3&gt;</a> &gt; &gt;::view_t view_t;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> view_t(width, height, <span class="keyword">typename</span> view_t::locator(<span class="keyword">typename</span> view_t::x_iterator(c0,c1,c2), rowsize_in_bytes));</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;}</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> IC&gt;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="keyword">inline</span> <span class="keyword">typename</span> type_from_x_iterator&lt;planar_pixel_iterator&lt;IC,devicen_t&lt;4&gt; &gt; &gt;::view_t</div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="group___image_view_constructors.html#ga62cb53531a28ac11dd0714b1c017c4d6"> 89</a></span>&#160;<a class="code" href="group___image_view_constructors.html#ga2f63988d27c4a8c9d67474d0e94c12a2">planar_devicen_view</a>(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, IC c3, std::ptrdiff_t rowsize_in_bytes) {</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structboost_1_1gil_1_1type__from__x__iterator.html">type_from_x_iterator&lt;planar_pixel_iterator&lt;IC,devicen_t&lt;4&gt;</a> &gt; &gt;::view_t view_t;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">return</span> view_t(width, height, <span class="keyword">typename</span> view_t::locator(<span class="keyword">typename</span> view_t::x_iterator(c0,c1,c2,c3), rowsize_in_bytes));</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;}</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> IC&gt;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="keyword">inline</span> <span class="keyword">typename</span> type_from_x_iterator&lt;planar_pixel_iterator&lt;IC,devicen_t&lt;5&gt; &gt; &gt;::view_t</div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="group___image_view_constructors.html#ga2f63988d27c4a8c9d67474d0e94c12a2"> 98</a></span>&#160;<a class="code" href="group___image_view_constructors.html#ga2f63988d27c4a8c9d67474d0e94c12a2">planar_devicen_view</a>(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, IC c3, IC c4, std::ptrdiff_t rowsize_in_bytes) {</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structboost_1_1gil_1_1type__from__x__iterator.html">type_from_x_iterator&lt;planar_pixel_iterator&lt;IC,devicen_t&lt;5&gt;</a> &gt; &gt;::view_t view_t;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> view_t(width, height, <span class="keyword">typename</span> view_t::locator(<span class="keyword">typename</span> view_t::x_iterator(c0,c1,c2,c3,c4), rowsize_in_bytes));</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;}</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;} } <span class="comment">// namespace boost::gil</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="metafunctions_8hpp_html"><div class="ttname"><a href="metafunctions_8hpp.html">metafunctions.hpp</a></div><div class="ttdoc">metafunctions that construct types or return type properties </div></div>
<div class="ttc" id="group___image_view_constructors_html_ga2f63988d27c4a8c9d67474d0e94c12a2"><div class="ttname"><a href="group___image_view_constructors.html#ga2f63988d27c4a8c9d67474d0e94c12a2">boost::gil::planar_devicen_view</a></div><div class="ttdeci">type_from_x_iterator&lt; planar_pixel_iterator&lt; IC, devicen_t&lt; 5 &gt; &gt; &gt;::view_t planar_devicen_view(std::size_t width, std::size_t height, IC c0, IC c1, IC c2, IC c3, IC c4, std::ptrdiff_t rowsize_in_bytes)</div><div class="ttdoc">from 5-channel planar data </div><div class="ttdef"><b>Definition:</b> device_n.hpp:98</div></div>
<div class="ttc" id="structboost_1_1gil_1_1type__from__x__iterator_html"><div class="ttname"><a href="structboost_1_1gil_1_1type__from__x__iterator.html">boost::gil::type_from_x_iterator</a></div><div class="ttdoc">Given a pixel iterator defining access to pixels along a row, returns the types of the corresponding ...</div><div class="ttdef"><b>Definition:</b> metafunctions.hpp:252</div></div>
<div class="ttc" id="structboost_1_1gil_1_1devicen__color__t_html"><div class="ttname"><a href="structboost_1_1gil_1_1devicen__color__t.html">boost::gil::devicen_color_t</a></div><div class="ttdoc">unnamed color </div><div class="ttdef"><b>Definition:</b> device_n.hpp:39</div></div>
<div class="ttc" id="structboost_1_1gil_1_1layout_html"><div class="ttname"><a href="structboost_1_1gil_1_1layout.html">boost::gil::layout</a></div><div class="ttdoc">Represents a color space and ordering of channels in memory. </div><div class="ttdef"><b>Definition:</b> utilities.hpp:306</div></div>
<div class="ttc" id="gil__config_8hpp_html"><div class="ttname"><a href="gil__config_8hpp.html">gil_config.hpp</a></div><div class="ttdoc">GIL configuration file. </div></div>
<div class="ttc" id="structboost_1_1gil_1_1devicen__layout__t_html"><div class="ttname"><a href="structboost_1_1gil_1_1devicen__layout__t.html">boost::gil::devicen_layout_t</a></div><div class="ttdoc">unnamed color layout of up to five channels </div><div class="ttdef"><b>Definition:</b> device_n.hpp:65</div></div>
<div class="ttc" id="utilities_8hpp_html"><div class="ttname"><a href="utilities_8hpp.html">utilities.hpp</a></div><div class="ttdoc">Various utilities not specific to the image library. Some are non-standard STL extensions or generic ...</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Mar 26 2018 16:26:15 for Generic Image Library by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>