Sophie

Sophie

distrib > Mandriva > 2011.0 > x86_64 > by-pkgid > e4e5aca55b6d7244e6bae95bf4fde3ca > files > 371

lib64edelib-devel-2.0-1.x86_64.rpm

<!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"/>
<title>edelib: Functional handling for edelib::List and similar constructs</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">edelib
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</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><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Functional handling for edelib::List and similar constructs</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , typename F &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__functional.html#ga006151087fcd26f851ae85705a235602">filter</a> (const F &amp;func, const T &amp;container, T &amp;ret)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , typename F &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__functional.html#ga232b6e2a00cdaa04e963c23142148f6d">map</a> (F &amp;func, const T &amp;container, T &amp;ret)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , typename R , typename F &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__functional.html#ga6b67fe1362db79b11f8fb9b89ef5301f">reduce</a> (F &amp;func, const T &amp;container, R &amp;ret)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , typename F &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__functional.html#ga61c6fbe775766e5c6c30f680b3e08a27">for_each</a> (const F &amp;func, const T &amp;container)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , typename F &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__functional.html#ga132a909437faa169ec7587a324d4ba29">for_each</a> (const F &amp;func, const T &amp;container, void *p)</td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga006151087fcd26f851ae85705a235602"></a><!-- doxytag: member="edelib::filter" ref="ga006151087fcd26f851ae85705a235602" args="(const F &amp;func, const T &amp;container, T &amp;ret)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="group__functional.html#ga006151087fcd26f851ae85705a235602">edelib::filter</a> </td>
          <td>(</td>
          <td class="paramtype">const F &amp;&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>container</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&#160;</td>
          <td class="paramname"><em>ret</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Filter given container by calling <em>func</em> on each element. If <em>func</em> returns true for given element, it will be copied to other list. </p>

</div>
</div>
<a class="anchor" id="ga61c6fbe775766e5c6c30f680b3e08a27"></a><!-- doxytag: member="edelib::for_each" ref="ga61c6fbe775766e5c6c30f680b3e08a27" args="(const F &amp;func, const T &amp;container)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__functional.html#ga61c6fbe775766e5c6c30f680b3e08a27">edelib::for_each</a> </td>
          <td>(</td>
          <td class="paramtype">const F &amp;&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>container</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Traverse container calling <em>func</em> on each element. Returns nothing. </p>

</div>
</div>
<a class="anchor" id="ga132a909437faa169ec7587a324d4ba29"></a><!-- doxytag: member="edelib::for_each" ref="ga132a909437faa169ec7587a324d4ba29" args="(const F &amp;func, const T &amp;container, void *p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__functional.html#ga61c6fbe775766e5c6c30f680b3e08a27">edelib::for_each</a> </td>
          <td>(</td>
          <td class="paramtype">const F &amp;&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>container</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Same as above <em>for_each</em>, but with additional <em>void*</em> parameter that is given to function as second parameter (function is called as <em>func(val, void*)</em> </p>

</div>
</div>
<a class="anchor" id="ga232b6e2a00cdaa04e963c23142148f6d"></a><!-- doxytag: member="edelib::map" ref="ga232b6e2a00cdaa04e963c23142148f6d" args="(F &amp;func, const T &amp;container, T &amp;ret)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__functional.html#ga232b6e2a00cdaa04e963c23142148f6d">edelib::map</a> </td>
          <td>(</td>
          <td class="paramtype">F &amp;&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>container</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&#160;</td>
          <td class="paramname"><em>ret</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Apply <em>func</em> on each element of given container and add it to <em>ret</em> container. </p>

</div>
</div>
<a class="anchor" id="ga6b67fe1362db79b11f8fb9b89ef5301f"></a><!-- doxytag: member="edelib::reduce" ref="ga6b67fe1362db79b11f8fb9b89ef5301f" args="(F &amp;func, const T &amp;container, R &amp;ret)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group__functional.html#ga6b67fe1362db79b11f8fb9b89ef5301f">edelib::reduce</a> </td>
          <td>(</td>
          <td class="paramtype">F &amp;&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>container</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">R &amp;&#160;</td>
          <td class="paramname"><em>ret</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Reduce all elements from container using <em>func</em> as function. The best example of this is to sum all elements, like: </p>
<div class="fragment"><pre class="fragment">    <span class="keywordtype">int</span> sum(<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b) {
       <span class="keywordflow">return</span> a + b;
    }

    <span class="keywordtype">int</span> ret;
    list &lt;int&gt; lst; <span class="comment">// [1,2,3,4,5]</span>
    <a class="code" href="group__functional.html#ga6b67fe1362db79b11f8fb9b89ef5301f">reduce</a>(sum, lst, ret);
    <span class="comment">// result will be in form 1 + 2 + 3 + 4 + 5</span>
</pre></div> 
</div>
</div>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 5 2012 17:49:02 for edelib by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>