Sophie

Sophie

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

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::Thread::Mutex::Lock Class 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_1Thread.html">Thread</a></li><li class="navelem"><a class="el" href="classCgu_1_1Thread_1_1Mutex.html">Mutex</a></li><li class="navelem"><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html">Lock</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_1Thread_1_1Mutex_1_1Lock-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Cgu::Thread::Mutex::Lock Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A scoped locking class for exception safe <a class="el" href="classCgu_1_1Thread_1_1Mutex.html" title="A wrapper class for pthread mutexes. ">Mutex</a> locking.  
 <a href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="mutex_8h_source.html">c++-gtk-utils/mutex.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:a0c3c7903cdf00bcf2154f47086bdf12b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#a0c3c7903cdf00bcf2154f47086bdf12b">Lock</a> (const <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html">Mutex::Lock</a> &amp;)=delete</td></tr>
<tr class="separator:a0c3c7903cdf00bcf2154f47086bdf12b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71b6a02a3fa0d5a8ff9047fd2464c627"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html">Mutex::Lock</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#a71b6a02a3fa0d5a8ff9047fd2464c627">operator=</a> (const <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html">Mutex::Lock</a> &amp;)=delete</td></tr>
<tr class="separator:a71b6a02a3fa0d5a8ff9047fd2464c627"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b53b26fd27b45b22f0c797babc64660"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#a0b53b26fd27b45b22f0c797babc64660">lock</a> () noexcept</td></tr>
<tr class="separator:a0b53b26fd27b45b22f0c797babc64660"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac0005a933bb34e8c8bf0c3b61b3a326"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#aac0005a933bb34e8c8bf0c3b61b3a326">trylock</a> () noexcept</td></tr>
<tr class="separator:aac0005a933bb34e8c8bf0c3b61b3a326"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d127e76c2e77245ec458eaf6f317a68"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#a8d127e76c2e77245ec458eaf6f317a68">unlock</a> () noexcept</td></tr>
<tr class="separator:a8d127e76c2e77245ec458eaf6f317a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdba7494e194f3f50e096f217c1ad2e3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#abdba7494e194f3f50e096f217c1ad2e3">Lock</a> (<a class="el" href="classCgu_1_1Thread_1_1Mutex.html">Mutex</a> &amp;mutex_) noexcept</td></tr>
<tr class="separator:abdba7494e194f3f50e096f217c1ad2e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa39c2c4ab1247a85f90801f82ae3348e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#aa39c2c4ab1247a85f90801f82ae3348e">Lock</a> (<a class="el" href="classCgu_1_1Thread_1_1Mutex.html">Mutex</a> &amp;mutex_, <a class="el" href="namespaceCgu_1_1Thread.html#ae859cc661aefb3465ab878a3f7305910">Locked</a> tag) noexcept</td></tr>
<tr class="separator:aa39c2c4ab1247a85f90801f82ae3348e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ae4775659c9f70682b9503d79b646c5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#a9ae4775659c9f70682b9503d79b646c5">Lock</a> ()=delete</td></tr>
<tr class="separator:a9ae4775659c9f70682b9503d79b646c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f76a044a2598796b310738b91219a3b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#a5f76a044a2598796b310738b91219a3b">~Lock</a> ()</td></tr>
<tr class="separator:a5f76a044a2598796b310738b91219a3b"><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:a7b3a3b08a18ec6e57d9a2f52744212c4"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#a7b3a3b08a18ec6e57d9a2f52744212c4">Cond</a></td></tr>
<tr class="separator:a7b3a3b08a18ec6e57d9a2f52744212c4"><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>A scoped locking class for exception safe <a class="el" href="classCgu_1_1Thread_1_1Mutex.html" title="A wrapper class for pthread mutexes. ">Mutex</a> locking. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classCgu_1_1Thread_1_1Mutex.html" title="A wrapper class for pthread mutexes. ">Thread::Mutex</a> <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1TrackLock.html" title="A scoped locking class for exception safe Mutex locking which tracks the status of its mutex...">Thread::Mutex::TrackLock</a> <a class="el" href="classCgu_1_1Thread_1_1Thread.html" title="A class representing a pthread thread. ">Thread::Thread</a> <a class="el" href="classCgu_1_1Thread_1_1Cond.html" title="A wrapper class for pthread condition variables. ">Thread::Cond</a> </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a0c3c7903cdf00bcf2154f47086bdf12b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Cgu::Thread::Mutex::Lock::Lock </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html">Mutex::Lock</a> &amp;&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This class cannot be copied. The copy constructor is deleted. </p>

</div>
</div>
<a class="anchor" id="abdba7494e194f3f50e096f217c1ad2e3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Cgu::Thread::Mutex::Lock::Lock </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCgu_1_1Thread_1_1Mutex.html">Mutex</a> &amp;&#160;</td>
          <td class="paramname"><em>mutex_</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This constructor locks the mutex passed to it. It is not a cancellation point. It does not throw. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mutex_</td><td>The mutex to be locked. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa39c2c4ab1247a85f90801f82ae3348e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Cgu::Thread::Mutex::Lock::Lock </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCgu_1_1Thread_1_1Mutex.html">Mutex</a> &amp;&#160;</td>
          <td class="paramname"><em>mutex_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceCgu_1_1Thread.html#ae859cc661aefb3465ab878a3f7305910">Locked</a>&#160;</td>
          <td class="paramname"><em>tag</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 class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This constructor takes an already locked mutex (say as a result of <a class="el" href="classCgu_1_1Thread_1_1Mutex.html#af19346cf724ffdc508f5fe54889e57a0">Mutex::trylock()</a>), and takes ownership of it. It is not a cancellation point. It does not throw. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mutex_</td><td>The mutex to be managed by this object. </td></tr>
    <tr><td class="paramname">tag</td><td>Pass the <a class="el" href="namespaceCgu_1_1Thread.html#ae859cc661aefb3465ab878a3f7305910a852f8168e5f00130c64125b059109a35">Cgu::Thread::locked</a> enum tag to this parameter. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9ae4775659c9f70682b9503d79b646c5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Cgu::Thread::Mutex::Lock::Lock </td>
          <td>(</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This class requires initialisation with a <a class="el" href="classCgu_1_1Thread_1_1Mutex.html" title="A wrapper class for pthread mutexes. ">Mutex</a>. The default constructor is deleted. </p>

</div>
</div>
<a class="anchor" id="a5f76a044a2598796b310738b91219a3b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Cgu::Thread::Mutex::Lock::~Lock </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>The destructor unlocks the owned mutex. It is not a cancellation point. It does not throw. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a0b53b26fd27b45b22f0c797babc64660"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int Cgu::Thread::Mutex::Lock::lock </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 class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Calls <a class="el" href="classCgu_1_1Thread_1_1Mutex.html#a4117ae4f42f0972dcd286d2cbb7e014c">Mutex::lock()</a>, and so locks the mutex and reacquires ownership. It blocks if the mutex is already locked until the mutex becomes free. This method should normally only be called if a previous call has been made to <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#a8d127e76c2e77245ec458eaf6f317a68">Mutex::Lock::unlock()</a> (that is, where the thread owning the <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html" title="A scoped locking class for exception safe Mutex locking. ">Mutex::Lock</a> object has temporarily allowed another thread to take the mutex concerned). It is not a cancellation point. It does not throw. </p>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, otherwise the pthread mutex error number. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>With this library implementation, the only pthread error number which could be returned by this method is EDEADLK, which it would do if the default pthread mutex behaviour happens to return that error rather than deadlock in the case of recursive locking. Most default implementations do not do this and hence the return value is usually not worth checking for except during debugging. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1TrackLock.html" title="A scoped locking class for exception safe Mutex locking which tracks the status of its mutex...">Mutex::TrackLock</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="a71b6a02a3fa0d5a8ff9047fd2464c627"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html">Mutex::Lock</a>&amp; Cgu::Thread::Mutex::Lock::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html">Mutex::Lock</a> &amp;&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This class cannot be copied. The assignment operator is deleted. </p>

</div>
</div>
<a class="anchor" id="aac0005a933bb34e8c8bf0c3b61b3a326"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int Cgu::Thread::Mutex::Lock::trylock </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 class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Calls <a class="el" href="classCgu_1_1Thread_1_1Mutex.html#af19346cf724ffdc508f5fe54889e57a0">Mutex::trylock()</a>, and so tries to lock the mutex and reacquire ownership, but returns immediately if it is already locked with value EBUSY. This method should normally only be called if a previous call has been made to <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#a8d127e76c2e77245ec458eaf6f317a68">Mutex::Lock::unlock()</a> (that is, where the thread owning the <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html" title="A scoped locking class for exception safe Mutex locking. ">Mutex::Lock</a> object has temporarily allowed another thread to take the mutex concerned). It is not a cancellation point. It does not throw. </p>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, otherwise EBUSY. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>With this library implementation, the only pthread error number which could be returned by this method is EBUSY. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1TrackLock.html" title="A scoped locking class for exception safe Mutex locking which tracks the status of its mutex...">Mutex::TrackLock</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="a8d127e76c2e77245ec458eaf6f317a68"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int Cgu::Thread::Mutex::Lock::unlock </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 class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Calls <a class="el" href="classCgu_1_1Thread_1_1Mutex.html#ade61c52c94dd0ddbea64fe434708ac37">Mutex::unlock()</a>, and so unlocks a locked mutex owned by the calling thread and relinquishes ownership (so temporarily allowing another thread to take the mutex). This method should normally only be called if it is to be followed by a call to <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#a0b53b26fd27b45b22f0c797babc64660">Mutex::Lock::lock()</a> or a successful call to <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html#aac0005a933bb34e8c8bf0c3b61b3a326">Mutex::Lock::trylock()</a> before the <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html" title="A scoped locking class for exception safe Mutex locking. ">Mutex::Lock</a> object concerned goes out of scope (otherwise <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html" title="A scoped locking class for exception safe Mutex locking. ">Mutex::Lock</a>'s destructor will attempt to unlock an already unlocked mutex or a mutex of which another thread has by then taken ownership - <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1Lock.html" title="A scoped locking class for exception safe Mutex locking. ">Mutex::Lock</a> objects do not maintain state). See <a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1TrackLock.html#a70b7063c7fd361dd8a260ffb1fc51ba0">Mutex::TrackLock::unlock()</a> for a safe version of this method. It is not a cancellation point. It does not throw. </p>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, otherwise the pthread mutex error number. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>With this library implementation, the only pthread error number which could be returned by this method is EPERM because the calling thread does not own the mutex (however POSIX does not require that return value in that case and hence the return value is usually not worth checking for except during debugging). </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classCgu_1_1Thread_1_1Mutex_1_1TrackLock.html" title="A scoped locking class for exception safe Mutex locking which tracks the status of its mutex...">Mutex::TrackLock</a>. </dd></dl>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="a7b3a3b08a18ec6e57d9a2f52744212c4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classCgu_1_1Thread_1_1Cond.html">Cond</a></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="mutex_8h_source.html">mutex.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Sep 16 2013 20:45:32 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>