2
0
mirror of https://github.com/boostorg/gil.git synced 2026-01-24 18:02:17 +00:00
Files
gil/develop/doc/html/reference/apply__operation__base_8hpp.html

135 lines
11 KiB
HTML

<!-- HTML header for doxygen 1.8.13-->
<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Generic Image Library: apply_operation_base.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-boost.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div class="boost-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/>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!-- Generated by Doxygen 1.8.6 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<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><li class="navelem"><a class="el" href="dir_0f86d4ff96b1aea424a4a0f509d03bc0.html">extension</a></li><li class="navelem"><a class="el" href="dir_1a56ea1a3a929887046b273f6b45aa06.html">dynamic_image</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">apply_operation_base.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Given an object with run-time specified type (denoted as an array of Bits, dynamic index, and a static set of Types) and a generic operation, casts the object to its appropriate type and applies the operation.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="gil__config_8hpp_source.html">../../gil_config.hpp</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="utilities_8hpp_source.html">../../utilities.hpp</a>&quot;</code><br/>
<code>#include &lt;boost/mpl/begin.hpp&gt;</code><br/>
<code>#include &lt;boost/mpl/next.hpp&gt;</code><br/>
<code>#include &lt;boost/mpl/deref.hpp&gt;</code><br/>
<code>#include &lt;boost/mpl/size.hpp&gt;</code><br/>
<code>#include &lt;boost/preprocessor/repeat.hpp&gt;</code><br/>
</div>
<p><a href="apply__operation__base_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceboost"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
<tr class="memdesc:namespaceboost"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pixel 2D LOCATOR. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ad79b83cac67b5b966b9d5b66aa122460"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad79b83cac67b5b966b9d5b66aa122460"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GIL_FWD_TYPEDEFS</b>(z, N, text)&#160;&#160;&#160;T##N; typedef typename mpl::next&lt;T##N&gt;::type</td></tr>
<tr class="separator:ad79b83cac67b5b966b9d5b66aa122460"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b5c77543f4d9130526fed67ac7464ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b5c77543f4d9130526fed67ac7464ee"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GIL_FWD_CASE</b>(z, N, SUM)&#160;&#160;&#160;case N: return op(*gil_reinterpret_cast&lt;typename mpl::deref&lt;T##N&gt;::type*&gt;(&amp;bits));</td></tr>
<tr class="separator:a2b5c77543f4d9130526fed67ac7464ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9aeac994894106449bcde0806b254df9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9aeac994894106449bcde0806b254df9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GIL_FWD_CONST_CASE</b>(z, N, SUM)&#160;&#160;&#160;case N: return op(*gil_reinterpret_cast_c&lt;const typename mpl::deref&lt;T##N&gt;::type*&gt;(&amp;bits));</td></tr>
<tr class="separator:a9aeac994894106449bcde0806b254df9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a730586153c03084a612fecdfd1178425"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a730586153c03084a612fecdfd1178425"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GIL_FWD_CASE_WITH_INFO</b>(z, N, SUM)&#160;&#160;&#160;case N: return op(*gil_reinterpret_cast&lt;typename mpl::deref&lt;T##N&gt;::type*&gt;(&amp;bits), info);</td></tr>
<tr class="separator:a730586153c03084a612fecdfd1178425"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a471dac4c725b666ac975d3ee98100ac5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a471dac4c725b666ac975d3ee98100ac5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GIL_FWD_CONST_CASE_WITH_INFO</b>(z, N, SUM)&#160;&#160;&#160;case N: return op(*gil_reinterpret_cast_c&lt;const typename mpl::deref&lt;T##N&gt;::type*&gt;(&amp;bits), info);</td></tr>
<tr class="separator:a471dac4c725b666ac975d3ee98100ac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97e41768b29fa4d0c910608e9243ec8f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97e41768b29fa4d0c910608e9243ec8f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GIL_APPLY_FWD_OP</b>(z, N, text)</td></tr>
<tr class="separator:a97e41768b29fa4d0c910608e9243ec8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dee41b11d92b34295f54281a098ae90"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8dee41b11d92b34295f54281a098ae90"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>GIL_GENERATE_APPLY_FWD_OPS</b>(N)&#160;&#160;&#160;BOOST_PP_REPEAT(N, GIL_APPLY_FWD_OP, BOOST_PP_EMPTY)</td></tr>
<tr class="separator:a8dee41b11d92b34295f54281a098ae90"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae61e94bbb7a75490d596eadf900e9fe4"><td class="memTemplParams" colspan="2"><a class="anchor" id="ae61e94bbb7a75490d596eadf900e9fe4"></a>
template&lt;typename Types , typename Bits , typename Op &gt; </td></tr>
<tr class="memitem:ae61e94bbb7a75490d596eadf900e9fe4"><td class="memTemplItemLeft" align="right" valign="top">Op::result_type BOOST_FORCEINLINE&#160;</td><td class="memTemplItemRight" valign="bottom"><b>apply_operation_basec</b> (const Bits &amp;bits, std::size_t index, Op op)</td></tr>
<tr class="separator:ae61e94bbb7a75490d596eadf900e9fe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81dca34bae1eb88498d782f34ce50aa4"><td class="memTemplParams" colspan="2"><a class="anchor" id="a81dca34bae1eb88498d782f34ce50aa4"></a>
template&lt;typename Types , typename Bits , typename Op &gt; </td></tr>
<tr class="memitem:a81dca34bae1eb88498d782f34ce50aa4"><td class="memTemplItemLeft" align="right" valign="top">Op::result_type BOOST_FORCEINLINE&#160;</td><td class="memTemplItemRight" valign="bottom"><b>apply_operation_base</b> (Bits &amp;bits, std::size_t index, Op op)</td></tr>
<tr class="separator:a81dca34bae1eb88498d782f34ce50aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa86e59ca639252983870be0a25d369c4"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa86e59ca639252983870be0a25d369c4"></a>
template&lt;typename Types1 , typename Types2 , typename Bits1 , typename Bits2 , typename Op &gt; </td></tr>
<tr class="memitem:aa86e59ca639252983870be0a25d369c4"><td class="memTemplItemLeft" align="right" valign="top">static Op::result_type <br class="typebreak"/>
BOOST_FORCEINLINE&#160;</td><td class="memTemplItemRight" valign="bottom"><b>apply_operation_base</b> (const Bits1 &amp;bits1, std::size_t index1, const Bits2 &amp;bits2, std::size_t index2, Op op)</td></tr>
<tr class="separator:aa86e59ca639252983870be0a25d369c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Given an object with run-time specified type (denoted as an array of Bits, dynamic index, and a static set of Types) and a generic operation, casts the object to its appropriate type and applies the operation. </p>
<dl class="section author"><dt>Author</dt><dd>Lubomir Bourdev and Hailin Jin <br/>
Adobe Systems Incorporated </dd></dl>
<dl class="section date"><dt>Date</dt><dd>2005-2007 <br/>
Last updated on November 6, 2007 </dd></dl>
</div></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.13-->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
<small>
Generated on Wed Apr 25 2018 20:27:25 for Generic Image Library by &#160;<a href="http://www.doxygen.org/index.html">doxygen</a> 1.8.6
</small>
</address>
</body>
</html>