Sophie

Sophie

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

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::SafeFunctorArg&lt; 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_1SafeFunctorArg.html">SafeFunctorArg</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classCgu_1_1Callback_1_1SafeFunctorArg-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Cgu::Callback::SafeFunctorArg&lt; FreeArgs &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Functor class holding a <a class="el" href="classCgu_1_1Callback_1_1CallbackArg.html" title="The callback interface class. ">Callback::CallbackArg</a> object, with thread-safe reference count.  
 <a href="classCgu_1_1Callback_1_1SafeFunctorArg.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="callback_8h_source.html">c++-gtk-utils/callback.h</a>&gt;</code></p>
<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:a9b46363308c636d24d996501f39c913b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html#a9b46363308c636d24d996501f39c913b">operator()</a> (typename <a class="el" href="structCgu_1_1Param.html">Cgu::Param</a>&lt; FreeArgs &gt;::ParamType...args) const </td></tr>
<tr class="separator:a9b46363308c636d24d996501f39c913b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99028874da043b496921cff1dfb112a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html#a99028874da043b496921cff1dfb112a0">operator=</a> (const <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> &amp;f)</td></tr>
<tr class="separator:a99028874da043b496921cff1dfb112a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b1ff8d3beb35ad5b6fd6d53452ada14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html#a6b1ff8d3beb35ad5b6fd6d53452ada14">operator=</a> (<a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> &amp;&amp;f)</td></tr>
<tr class="separator:a6b1ff8d3beb35ad5b6fd6d53452ada14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa46be8634078615b3368e98ce466f0de"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html#aa46be8634078615b3368e98ce466f0de">SafeFunctorArg</a> (const <a class="el" href="classCgu_1_1Callback_1_1CallbackArg.html">CallbackArg</a>&lt; FreeArgs...&gt; *cb)</td></tr>
<tr class="separator:aa46be8634078615b3368e98ce466f0de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae37e58cb45d1e85ba24ef26471f68564"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html#ae37e58cb45d1e85ba24ef26471f68564">SafeFunctorArg</a> (const <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> &amp;f)</td></tr>
<tr class="separator:ae37e58cb45d1e85ba24ef26471f68564"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae728f66866c3d5e3b639df72f9b4171b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html#ae728f66866c3d5e3b639df72f9b4171b">SafeFunctorArg</a> (<a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> &amp;&amp;f)</td></tr>
<tr class="separator:ae728f66866c3d5e3b639df72f9b4171b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f5263c10755efd29cb510cfbdc4b601"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html#a1f5263c10755efd29cb510cfbdc4b601">SafeFunctorArg</a> ()</td></tr>
<tr class="separator:a1f5263c10755efd29cb510cfbdc4b601"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a305fe19959ba2a7a30e75571dc03a126"><td class="memItemLeft" align="right" valign="top">struct&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html#a305fe19959ba2a7a30e75571dc03a126">std::hash&lt; SafeFunctorArg &gt;</a></td></tr>
<tr class="separator:a305fe19959ba2a7a30e75571dc03a126"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e9121d7bceed8a1dd983176ddbd1983"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html#a2e9121d7bceed8a1dd983176ddbd1983">operator==</a> (const <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> &amp;, const <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> &amp;) noexcept</td></tr>
<tr class="separator:a2e9121d7bceed8a1dd983176ddbd1983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad97e7a73b80471acf1187c72fe95028"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html#aad97e7a73b80471acf1187c72fe95028">operator&lt;</a> (const <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> &amp;, const <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> &amp;)</td></tr>
<tr class="separator:aad97e7a73b80471acf1187c72fe95028"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class... FreeArgs&gt;<br/>
class Cgu::Callback::SafeFunctorArg&lt; FreeArgs &gt;</h3>

<p>Functor class holding a <a class="el" href="classCgu_1_1Callback_1_1CallbackArg.html" title="The callback interface class. ">Callback::CallbackArg</a> object, with thread-safe reference count. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classCgu_1_1Callback_1_1FunctorArg.html" title="Functor class holding a Callback::CallbackArg object. ">FunctorArg</a> </dd>
<dd>
<a class="el" href="namespaceCgu_1_1Callback.html" title="This namespace provides classes for type erasure. ">Callback</a> namespace</dd></dl>
<p>This class is the same as <a class="el" href="classCgu_1_1Callback_1_1FunctorArg.html" title="Functor class holding a Callback::CallbackArg object. ">Callback::FunctorArg</a> except that it will provide synchronisation of the reference count between threads. Use it where a functor wrapper object is to be passed between threads. The <a class="el" href="classCgu_1_1Callback_1_1FunctorArg.html" title="Functor class holding a Callback::CallbackArg object. ">FunctorArg</a> documentation gives details on usage.</p>
<p>Callback::SafeFunctorArg&lt;&gt; is typedef'ed to <a class="el" href="namespaceCgu_1_1Callback.html#ace69d350a8b9ba8ecbc309e0a8ecdc97">Callback::SafeFunctor</a>.</p>
<p>For further background, read this: <a class="el" href="namespaceCgu_1_1Callback.html" title="This namespace provides classes for type erasure. ">Callback</a> </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa46be8634078615b3368e98ce466f0de"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class... FreeArgs&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_1SafeFunctorArg.html">Cgu::Callback::SafeFunctorArg</a>&lt; FreeArgs &gt;::<a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCgu_1_1Callback_1_1CallbackArg.html">CallbackArg</a>&lt; FreeArgs...&gt; *&#160;</td>
          <td class="paramname"><em>cb</em>)</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">
<p>Constructor of first <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> holding the referenced callback. As it is not marked explicit, it is also a type conversion constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cb</td><td>The <a class="el" href="classCgu_1_1Callback_1_1CallbackArg.html" title="The callback interface class. ">CallbackArg</a> object which the functor is to manage. </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">std::bad_alloc</td><td>This might throw std::bad_alloc if memory is exhausted and the system throws in that case. Note that if such an exception is thrown, then this constructor will clean itself up and also delete the callback object passed to it. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>std::bad_alloc will not be thrown if the library has been installed using the --with-glib-memory-slices-no-compat configuration option: instead glib will terminate the program if it is unable to obtain memory from the operating system. </dd></dl>

</div>
</div>
<a class="anchor" id="ae37e58cb45d1e85ba24ef26471f68564"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class... FreeArgs&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_1SafeFunctorArg.html">Cgu::Callback::SafeFunctorArg</a>&lt; FreeArgs &gt;::<a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a>&lt; FreeArgs &gt; &amp;&#160;</td>
          <td class="paramname"><em>f</em>)</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">
<p>The copy constructor does not throw. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">f</td><td>The assignor. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae728f66866c3d5e3b639df72f9b4171b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class... FreeArgs&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_1SafeFunctorArg.html">Cgu::Callback::SafeFunctorArg</a>&lt; FreeArgs &gt;::<a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a>&lt; FreeArgs &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>f</em>)</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">
<p>The move constructor does not throw. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">f</td><td>The functor to be moved. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1f5263c10755efd29cb510cfbdc4b601"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class... FreeArgs&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_1SafeFunctorArg.html">Cgu::Callback::SafeFunctorArg</a>&lt; FreeArgs &gt;::<a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> </td>
          <td>(</td>
          <td class="paramname">)</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">
<p>Default constructor, where a <a class="el" href="classCgu_1_1Callback_1_1CallbackArg.html" title="The callback interface class. ">Callback::CallbackArg</a> object is to be assigned later (via the type conversion constructor and/or the assignment operator). This constructor does not throw. </p>
<dl class="section note"><dt>Note</dt><dd>The reference count maintained with respect to the contained callback object is thread-safe, so <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> objects may be copied between threads by the implicit assignment operator and put in different containers in different threads. They use a <a class="el" href="classCgu_1_1SharedLockPtr.html" title="This is a smart pointer for managing the lifetime of objects allocated on freestore, with a thread safe reference count. ">SharedLockPtr</a> object to hold the referenced callback object. </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a9b46363308c636d24d996501f39c913b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;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_1SafeFunctorArg.html">Cgu::Callback::SafeFunctorArg</a>&lt; FreeArgs &gt;::operator() </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>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This will execute the function, callable object or class method represented by the callback encapsulated by this object, or do nothing if this object has not been initialized with a callback. It will only throw if the executed 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>

</div>
</div>
<a class="anchor" id="a99028874da043b496921cff1dfb112a0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class... FreeArgs&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_1SafeFunctorArg.html">SafeFunctorArg</a>&amp; <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">Cgu::Callback::SafeFunctorArg</a>&lt; FreeArgs &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a>&lt; FreeArgs &gt; &amp;&#160;</td>
          <td class="paramname"><em>f</em>)</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">
<p>This function does not throw. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">f</td><td>The assignor. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The functor object after assignment. </dd></dl>

</div>
</div>
<a class="anchor" id="a6b1ff8d3beb35ad5b6fd6d53452ada14"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class... FreeArgs&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_1SafeFunctorArg.html">SafeFunctorArg</a>&amp; <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">Cgu::Callback::SafeFunctorArg</a>&lt; FreeArgs &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a>&lt; FreeArgs &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>f</em>)</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">
<p>This function does not throw. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">f</td><td>The functor to be moved. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The functor object after the move operation. </dd></dl>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="aad97e7a73b80471acf1187c72fe95028"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class... FreeArgs&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&lt; </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a>&lt; FreeArgs &gt; &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a>&lt; FreeArgs &gt; &amp;&#160;</td>
          <td class="paramname">&#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">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>One <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> object is less than another if the address of the <a class="el" href="classCgu_1_1Callback_1_1CallbackArg.html" title="The callback interface class. ">CallbackArg</a> object contained by the first is regarded by std::less as less than the address of the <a class="el" href="classCgu_1_1Callback_1_1CallbackArg.html" title="The callback interface class. ">CallbackArg</a> object contained by the other. This comparison operator does not throw unless std::less applied to pointer types throws (which it would not do with any sane implementation). </p>

</div>
</div>
<a class="anchor" id="a2e9121d7bceed8a1dd983176ddbd1983"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class... FreeArgs&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a>&lt; FreeArgs &gt; &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a>&lt; FreeArgs &gt; &amp;&#160;</td>
          <td class="paramname">&#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">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Two <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> objects compare equal if the addresses of the <a class="el" href="classCgu_1_1Callback_1_1CallbackArg.html" title="The callback interface class. ">CallbackArg</a> objects they contain are the same. This comparison operator does not throw. </p>

</div>
</div>
<a class="anchor" id="a305fe19959ba2a7a30e75571dc03a126"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class... FreeArgs&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend struct <a class="el" href="classstd_1_1hash.html">std::hash</a>&lt; <a class="el" href="classCgu_1_1Callback_1_1SafeFunctorArg.html">SafeFunctorArg</a> &gt;</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</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>