Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > a24e1a39141f9b4ca49bd1e2e23a54ba > files > 384

polybori-doc-0.5rc.p9-6mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>PolyBoRi: polybori::binary_composition&lt; BinaryOp, FirstOp, SecondOp &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacepolybori.html">polybori</a>::<a class="el" href="classpolybori_1_1binary__composition.html">binary_composition</a>
  </div>
</div>
<div class="contents">
<h1>polybori::binary_composition&lt; BinaryOp, FirstOp, SecondOp &gt; Class Template Reference</h1><!-- doxytag: class="polybori::binary_composition" --><!-- doxytag: inherits="BinaryOp" -->Compose a binary function with two default constructable unary functions.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="pbori__func_8h_source.html">pbori_func.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for polybori::binary_composition&lt; BinaryOp, FirstOp, SecondOp &gt;:</div>
<div class="dynsection">

<p><center><img src="classpolybori_1_1binary__composition.png" usemap="#polybori::binary_composition< BinaryOp, FirstOp, SecondOp >_map" border="0" alt=""></center>
<map name="polybori::binary_composition< BinaryOp, FirstOp, SecondOp >_map">
<area href="classBinaryOp.html" alt="BinaryOp" shape="rect" coords="0,0,371,24">
</map>
</div>

<p>
<a href="classpolybori_1_1binary__composition-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef base::result_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1binary__composition.html#16d26afed063448a365c09712b66a303">result_type</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Getting inherited types.  <a href="#16d26afed063448a365c09712b66a303"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classBinaryOp.html">BinaryOp</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1binary__composition.html#a3dbd7c92550d7b39153441462d234ed">base</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define types corresponding to template arguments.  <a href="#a3dbd7c92550d7b39153441462d234ed"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef FirstOp&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1binary__composition.html#bf62d52c4df0e07d8918156f1cb18b44">first_op_type</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef SecondOp&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1binary__composition.html#bea49c6e30ba6314019a76e469ce639a">second_op_type</a></td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1binary__composition.html#44989251a3fa0940f05151e13d896944">binary_composition</a> (const <a class="el" href="classBinaryOp.html">base</a> &amp;binop=<a class="el" href="classBinaryOp.html">base</a>(), const <a class="el" href="classpolybori_1_1binary__composition.html#bf62d52c4df0e07d8918156f1cb18b44">first_op_type</a> &amp;unop1=<a class="el" href="classpolybori_1_1binary__composition.html#bf62d52c4df0e07d8918156f1cb18b44">first_op_type</a>(), const <a class="el" href="classpolybori_1_1binary__composition.html#bea49c6e30ba6314019a76e469ce639a">second_op_type</a> &amp;unop2=<a class="el" href="classpolybori_1_1binary__composition.html#bea49c6e30ba6314019a76e469ce639a">second_op_type</a>())</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class FirstType , class SecondType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1binary__composition.html#16d26afed063448a365c09712b66a303">result_type</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpolybori_1_1binary__composition.html#28b559e7d1c75491c51e5a76ab2eccc7">operator()</a> (const FirstType &amp;first, const SecondType &amp;second) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The composed operation for constant arguments.  <a href="#28b559e7d1c75491c51e5a76ab2eccc7"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class FirstType , class SecondType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1binary__composition.html#16d26afed063448a365c09712b66a303">result_type</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpolybori_1_1binary__composition.html#c82cb0fe9cc5690382c89ce734f3b024">operator()</a> (FirstType &amp;first, const SecondType &amp;second) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The composed operation for constant second argument.  <a href="#c82cb0fe9cc5690382c89ce734f3b024"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class FirstType , class SecondType &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1binary__composition.html#16d26afed063448a365c09712b66a303">result_type</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpolybori_1_1binary__composition.html#e8563b14aa71e20867c4eabbf685e187">operator()</a> (const FirstType &amp;first, SecondType &amp;second) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The composed operation for constant first argument.  <a href="#e8563b14aa71e20867c4eabbf685e187"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1binary__composition.html#bf62d52c4df0e07d8918156f1cb18b44">first_op_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1binary__composition.html#60041019306bfb2952326a0bd0acf81f">first_op</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classpolybori_1_1binary__composition.html#bea49c6e30ba6314019a76e469ce639a">second_op_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpolybori_1_1binary__composition.html#12ad608d5917a3d3abcbeaa5c12f391a">second_op</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class BinaryOp, class FirstOp, class SecondOp&gt;<br>
 class polybori::binary_composition&lt; BinaryOp, FirstOp, SecondOp &gt;</h3>

Compose a binary function with two default constructable unary functions. <hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="a3dbd7c92550d7b39153441462d234ed"></a><!-- doxytag: member="polybori::binary_composition::base" ref="a3dbd7c92550d7b39153441462d234ed" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinaryOp, class FirstOp, class SecondOp&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classBinaryOp.html">BinaryOp</a> <a class="el" href="classpolybori_1_1binary__composition.html">polybori::binary_composition</a>&lt; <a class="el" href="classBinaryOp.html">BinaryOp</a>, FirstOp, SecondOp &gt;::<a class="el" href="classBinaryOp.html">base</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Define types corresponding to template arguments. 
<p>

<p>Reimplemented in <a class="el" href="classpolybori_1_1symmetric__composition.html#98e9ad213ab93859556782a16a8a8290">polybori::symmetric_composition&lt; BinaryOp, UnaryOperation &gt;</a>.</p>

</div>
</div><p>
<a class="anchor" name="bf62d52c4df0e07d8918156f1cb18b44"></a><!-- doxytag: member="polybori::binary_composition::first_op_type" ref="bf62d52c4df0e07d8918156f1cb18b44" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinaryOp, class FirstOp, class SecondOp&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef FirstOp <a class="el" href="classpolybori_1_1binary__composition.html">polybori::binary_composition</a>&lt; <a class="el" href="classBinaryOp.html">BinaryOp</a>, FirstOp, SecondOp &gt;::<a class="el" href="classpolybori_1_1binary__composition.html#bf62d52c4df0e07d8918156f1cb18b44">first_op_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="16d26afed063448a365c09712b66a303"></a><!-- doxytag: member="polybori::binary_composition::result_type" ref="16d26afed063448a365c09712b66a303" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinaryOp, class FirstOp, class SecondOp&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef base::result_type <a class="el" href="classpolybori_1_1binary__composition.html">polybori::binary_composition</a>&lt; <a class="el" href="classBinaryOp.html">BinaryOp</a>, FirstOp, SecondOp &gt;::<a class="el" href="classpolybori_1_1binary__composition.html#16d26afed063448a365c09712b66a303">result_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Getting inherited types. 
<p>

</div>
</div><p>
<a class="anchor" name="bea49c6e30ba6314019a76e469ce639a"></a><!-- doxytag: member="polybori::binary_composition::second_op_type" ref="bea49c6e30ba6314019a76e469ce639a" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinaryOp, class FirstOp, class SecondOp&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef SecondOp <a class="el" href="classpolybori_1_1binary__composition.html">polybori::binary_composition</a>&lt; <a class="el" href="classBinaryOp.html">BinaryOp</a>, FirstOp, SecondOp &gt;::<a class="el" href="classpolybori_1_1binary__composition.html#bea49c6e30ba6314019a76e469ce639a">second_op_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="44989251a3fa0940f05151e13d896944"></a><!-- doxytag: member="polybori::binary_composition::binary_composition" ref="44989251a3fa0940f05151e13d896944" args="(const base &amp;binop=base(), const first_op_type &amp;unop1=first_op_type(), const second_op_type &amp;unop2=second_op_type())" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinaryOp, class FirstOp, class SecondOp&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1binary__composition.html">polybori::binary_composition</a>&lt; <a class="el" href="classBinaryOp.html">BinaryOp</a>, FirstOp, SecondOp &gt;::<a class="el" href="classpolybori_1_1binary__composition.html">binary_composition</a>           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classBinaryOp.html">base</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>binop</em> = <code><a class="el" href="classBinaryOp.html">base</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1binary__composition.html#bf62d52c4df0e07d8918156f1cb18b44">first_op_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>unop1</em> = <code><a class="el" href="classpolybori_1_1binary__composition.html#bf62d52c4df0e07d8918156f1cb18b44">first_op_type</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classpolybori_1_1binary__composition.html#bea49c6e30ba6314019a76e469ce639a">second_op_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>unop2</em> = <code><a class="el" href="classpolybori_1_1binary__composition.html#bea49c6e30ba6314019a76e469ce639a">second_op_type</a>()</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="e8563b14aa71e20867c4eabbf685e187"></a><!-- doxytag: member="polybori::binary_composition::operator()" ref="e8563b14aa71e20867c4eabbf685e187" args="(const FirstType &amp;first, SecondType &amp;second) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinaryOp, class FirstOp, class SecondOp&gt; </div>
<div class="memtemplate">
template&lt;class FirstType , class SecondType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1binary__composition.html#16d26afed063448a365c09712b66a303">result_type</a> <a class="el" href="classpolybori_1_1binary__composition.html">polybori::binary_composition</a>&lt; <a class="el" href="classBinaryOp.html">BinaryOp</a>, FirstOp, SecondOp &gt;::operator()           </td>
          <td>(</td>
          <td class="paramtype">const FirstType &amp;&nbsp;</td>
          <td class="paramname"> <em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SecondType &amp;&nbsp;</td>
          <td class="paramname"> <em>second</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The composed operation for constant first argument. 
<p>

</div>
</div><p>
<a class="anchor" name="c82cb0fe9cc5690382c89ce734f3b024"></a><!-- doxytag: member="polybori::binary_composition::operator()" ref="c82cb0fe9cc5690382c89ce734f3b024" args="(FirstType &amp;first, const SecondType &amp;second) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinaryOp, class FirstOp, class SecondOp&gt; </div>
<div class="memtemplate">
template&lt;class FirstType , class SecondType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1binary__composition.html#16d26afed063448a365c09712b66a303">result_type</a> <a class="el" href="classpolybori_1_1binary__composition.html">polybori::binary_composition</a>&lt; <a class="el" href="classBinaryOp.html">BinaryOp</a>, FirstOp, SecondOp &gt;::operator()           </td>
          <td>(</td>
          <td class="paramtype">FirstType &amp;&nbsp;</td>
          <td class="paramname"> <em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const SecondType &amp;&nbsp;</td>
          <td class="paramname"> <em>second</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The composed operation for constant second argument. 
<p>

</div>
</div><p>
<a class="anchor" name="28b559e7d1c75491c51e5a76ab2eccc7"></a><!-- doxytag: member="polybori::binary_composition::operator()" ref="28b559e7d1c75491c51e5a76ab2eccc7" args="(const FirstType &amp;first, const SecondType &amp;second) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinaryOp, class FirstOp, class SecondOp&gt; </div>
<div class="memtemplate">
template&lt;class FirstType , class SecondType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1binary__composition.html#16d26afed063448a365c09712b66a303">result_type</a> <a class="el" href="classpolybori_1_1binary__composition.html">polybori::binary_composition</a>&lt; <a class="el" href="classBinaryOp.html">BinaryOp</a>, FirstOp, SecondOp &gt;::operator()           </td>
          <td>(</td>
          <td class="paramtype">const FirstType &amp;&nbsp;</td>
          <td class="paramname"> <em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const SecondType &amp;&nbsp;</td>
          <td class="paramname"> <em>second</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The composed operation for constant arguments. 
<p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="60041019306bfb2952326a0bd0acf81f"></a><!-- doxytag: member="polybori::binary_composition::first_op" ref="60041019306bfb2952326a0bd0acf81f" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinaryOp, class FirstOp, class SecondOp&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1binary__composition.html#bf62d52c4df0e07d8918156f1cb18b44">first_op_type</a> <a class="el" href="classpolybori_1_1binary__composition.html">polybori::binary_composition</a>&lt; <a class="el" href="classBinaryOp.html">BinaryOp</a>, FirstOp, SecondOp &gt;::<a class="el" href="classpolybori_1_1binary__composition.html#60041019306bfb2952326a0bd0acf81f">first_op</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="12ad608d5917a3d3abcbeaa5c12f391a"></a><!-- doxytag: member="polybori::binary_composition::second_op" ref="12ad608d5917a3d3abcbeaa5c12f391a" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class BinaryOp, class FirstOp, class SecondOp&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpolybori_1_1binary__composition.html#bea49c6e30ba6314019a76e469ce639a">second_op_type</a> <a class="el" href="classpolybori_1_1binary__composition.html">polybori::binary_composition</a>&lt; <a class="el" href="classBinaryOp.html">BinaryOp</a>, FirstOp, SecondOp &gt;::<a class="el" href="classpolybori_1_1binary__composition.html#12ad608d5917a3d3abcbeaa5c12f391a">second_op</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="pbori__func_8h_source.html">pbori_func.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 9 14:31:03 2009 for PolyBoRi by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>