Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > ba6e5e1a033bd8535c43a771ce407926 > files > 118

lib64cxx-gtk-utils2.2-devel-2.2.3-2.mga4.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"/>
<meta name="generator" content="Doxygen 1.8.4"/>
<title>c++-gtk-utils: Cgu::Callback::Callback4&lt; unref, T, BoundArg1, BoundArg2, BoundArg3, BoundArg4, FreeArgs &gt; Class Template 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" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">c++-gtk-utils
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.4 -->
  <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 class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceCgu.html">Cgu</a></li><li class="navelem"><a class="el" href="namespaceCgu_1_1Callback.html">Callback</a></li><li class="navelem"><a class="el" href="classCgu_1_1Callback_1_1Callback4.html">Callback4</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classCgu_1_1Callback_1_1Callback4-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Cgu::Callback::Callback4&lt; unref, T, BoundArg1, BoundArg2, BoundArg3, BoundArg4, FreeArgs &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="callback_8h_source.html">callback.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Cgu::Callback::Callback4&lt; unref, T, BoundArg1, BoundArg2, BoundArg3, BoundArg4, FreeArgs &gt;:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classCgu_1_1Callback_1_1Callback4.png" usemap="#Cgu::Callback::Callback4&lt; unref, T, BoundArg1, BoundArg2, BoundArg3, BoundArg4, FreeArgs &gt;_map" alt=""/>
  <map id="Cgu::Callback::Callback4&lt; unref, T, BoundArg1, BoundArg2, BoundArg3, BoundArg4, FreeArgs &gt;_map" name="Cgu::Callback::Callback4&lt; unref, T, BoundArg1, BoundArg2, BoundArg3, BoundArg4, FreeArgs &gt;_map">
<area href="classCgu_1_1Callback_1_1CallbackArg.html" alt="Cgu::Callback::CallbackArg&lt; FreeArgs...&gt;" shape="rect" coords="0,0,577,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a727a31ff5ffb942c564edfb6a485f9cb"><td class="memItemLeft" align="right" valign="top">typedef void(T::*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1Callback4.html#a727a31ff5ffb942c564edfb6a485f9cb">MemFunc</a> )(BoundArg1, BoundArg2, BoundArg3, BoundArg4, FreeArgs...)</td></tr>
<tr class="separator:a727a31ff5ffb942c564edfb6a485f9cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a88112f07e99a2afaa98fc13d7616c653"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1Callback4.html#a88112f07e99a2afaa98fc13d7616c653">dispatch</a> (typename <a class="el" href="structCgu_1_1Param.html">Cgu::Param</a>&lt; FreeArgs &gt;::ParamType...free_args) const </td></tr>
<tr class="separator:a88112f07e99a2afaa98fc13d7616c653"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6f49a7c3a35b43b93a2705a66f87e99"><td class="memTemplParams" colspan="2">template&lt;class Arg1 , class Arg2 , class Arg3 , class Arg4 &gt; </td></tr>
<tr class="memitem:ad6f49a7c3a35b43b93a2705a66f87e99"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1Callback4.html#ad6f49a7c3a35b43b93a2705a66f87e99">Callback4</a> (T &amp;obj_, <a class="el" href="classCgu_1_1Callback_1_1Callback4.html#a727a31ff5ffb942c564edfb6a485f9cb">MemFunc</a> func_, Arg1 &amp;&amp;arg1_, Arg2 &amp;&amp;arg2_, Arg3 &amp;&amp;arg3_, Arg4 &amp;&amp;arg4_)</td></tr>
<tr class="separator:ad6f49a7c3a35b43b93a2705a66f87e99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classCgu_1_1Callback_1_1CallbackArg"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classCgu_1_1Callback_1_1CallbackArg')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classCgu_1_1Callback_1_1CallbackArg.html">Cgu::Callback::CallbackArg&lt; FreeArgs...&gt;</a></td></tr>
<tr class="memitem:a96a2e52882bb385f440df6422bc8ce26 inherit pub_methods_classCgu_1_1Callback_1_1CallbackArg"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1CallbackArg.html#a96a2e52882bb385f440df6422bc8ce26">CallbackArg</a> ()</td></tr>
<tr class="separator:a96a2e52882bb385f440df6422bc8ce26 inherit pub_methods_classCgu_1_1Callback_1_1CallbackArg"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab62691574fb3ce87083d6ee3f630be1c inherit pub_methods_classCgu_1_1Callback_1_1CallbackArg"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1CallbackArg.html#ab62691574fb3ce87083d6ee3f630be1c">~CallbackArg</a> ()</td></tr>
<tr class="separator:ab62691574fb3ce87083d6ee3f630be1c inherit pub_methods_classCgu_1_1Callback_1_1CallbackArg"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a727a31ff5ffb942c564edfb6a485f9cb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;bool unref, class T , class BoundArg1 , class BoundArg2 , class BoundArg3 , class BoundArg4 , class... FreeArgs&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef void(T::*  <a class="el" href="classCgu_1_1Callback_1_1Callback4.html">Cgu::Callback::Callback4</a>&lt; unref, T, BoundArg1, BoundArg2, BoundArg3, BoundArg4, FreeArgs &gt;::MemFunc)(BoundArg1, BoundArg2, BoundArg3, BoundArg4, FreeArgs...)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad6f49a7c3a35b43b93a2705a66f87e99"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;bool unref, class T , class BoundArg1 , class BoundArg2 , class BoundArg3 , class BoundArg4 , class... FreeArgs&gt; </div>
<div class="memtemplate">
template&lt;class Arg1 , class Arg2 , class Arg3 , class Arg4 &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCgu_1_1Callback_1_1Callback4.html">Cgu::Callback::Callback4</a>&lt; unref, T, BoundArg1, BoundArg2, BoundArg3, BoundArg4, FreeArgs &gt;::<a class="el" href="classCgu_1_1Callback_1_1Callback4.html">Callback4</a> </td>
          <td>(</td>
          <td class="paramtype">T &amp;&#160;</td>
          <td class="paramname"><em>obj_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCgu_1_1Callback_1_1Callback4.html#a727a31ff5ffb942c564edfb6a485f9cb">MemFunc</a>&#160;</td>
          <td class="paramname"><em>func_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Arg1 &amp;&amp;&#160;</td>
          <td class="paramname"><em>arg1_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Arg2 &amp;&amp;&#160;</td>
          <td class="paramname"><em>arg2_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Arg3 &amp;&amp;&#160;</td>
          <td class="paramname"><em>arg3_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Arg4 &amp;&amp;&#160;</td>
          <td class="paramname"><em>arg4_</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a88112f07e99a2afaa98fc13d7616c653"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;bool unref, class T , class BoundArg1 , class BoundArg2 , class BoundArg3 , class BoundArg4 , class... FreeArgs&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classCgu_1_1Callback_1_1Callback4.html">Cgu::Callback::Callback4</a>&lt; unref, T, BoundArg1, BoundArg2, BoundArg3, BoundArg4, FreeArgs &gt;::dispatch </td>
          <td>(</td>
          <td class="paramtype">typename <a class="el" href="structCgu_1_1Param.html">Cgu::Param</a>&lt; FreeArgs &gt;::ParamType...&#160;</td>
          <td class="paramname"><em>args</em>)</td><td></td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This will execute the referenced function, callable object or class method encapsulated by this class. It will only throw if the dispatched function, callable object or class method throws, or if the copy constructor of a free or bound argument throws and it is not a reference argument. It is thread safe if the referenced function or class method is thread safe. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">args</td><td>The unbound arguments to be passed to the referenced function, callable object or class method, if any. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>We use <a class="el" href="classCgu_1_1Callback_1_1Callback4.html#a88112f07e99a2afaa98fc13d7616c653">dispatch()</a> to execute the callback, because the callback would normally be invoked through a base class pointer. To invoke it through operator()(), use the <a class="el" href="classCgu_1_1Callback_1_1FunctorArg.html" title="Functor class holding a Callback::CallbackArg object. ">FunctorArg</a> or <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html" title="Functor class holding a Callback::CallbackArg object, with thread-safe reference count. ">SafeFunctorArg</a> wrapper class. </dd></dl>

<p>Implements <a class="el" href="classCgu_1_1Callback_1_1CallbackArg.html#af60695ee22ec4d28dca43132f285c01d">Cgu::Callback::CallbackArg&lt; FreeArgs...&gt;</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="callback_8h_source.html">callback.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Sep 16 2013 20:45:31 for c++-gtk-utils by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.4
</small></address>
</body>
</html>