Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 04b5d9decd5baea570b59d0bd03cbaab > files > 368

glibmm24-doc-2.28.0-1.fc15.noarch.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"/>
<title>glibmm: Glib::Mutex::Lock Class 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.7.2 -->
<div class="navigation" id="top">
  <div 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="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div 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 class="navpath">
    <ul>
      <li><a class="el" href="namespaceGlib.html">Glib</a> </li>
      <li><a class="el" href="classGlib_1_1Mutex.html">Mutex</a> </li>
      <li><a class="el" href="classGlib_1_1Mutex_1_1Lock.html">Lock</a> </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
  <div class="headertitle">
<h1>Glib::Mutex::Lock Class Reference<br/>
<small>
[<a class="el" href="group__Threads.html">Threads</a>]</small>
</h1> </div>
</div>
<div class="contents">
<!-- doxytag: class="Glib::Mutex::Lock" -->
<p>Utility class for exception-safe mutex locking. <a href="#_details">More...</a></p>

<p><code>#include &lt;glibmm/thread.h&gt;</code></p>

<p><a href="classGlib_1_1Mutex_1_1Lock-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Mutex_1_1Lock.html#ab203085bd7e2fa065f2e770ff501882e">Lock</a> (<a class="el" href="classGlib_1_1Mutex.html">Mutex</a>&amp; mutex)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Mutex_1_1Lock.html#a613aa058601c9f05d5663cfc005093a8">Lock</a> (<a class="el" href="classGlib_1_1Mutex.html">Mutex</a>&amp; mutex, <a class="el" href="group__Threads.html#ga2dd111336e3b057b51ca5871795fffa4">NotLock</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Mutex_1_1Lock.html#ae795f9ed3b07389eb856be7610362cde">Lock</a> (<a class="el" href="classGlib_1_1Mutex.html">Mutex</a>&amp; mutex, <a class="el" href="group__Threads.html#ga7441a36336ea4cdb35c0fddbf3f97b19">TryLock</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Mutex_1_1Lock.html#a84f0589eee0654ec60f6773ca9336752">~Lock</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Mutex_1_1Lock.html#a1f892502061ae908452f7eb0ac920065">acquire</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Mutex_1_1Lock.html#af2c4e590e2c7f3820df5a4fa8293f280">try_acquire</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Mutex_1_1Lock.html#ac5bfb4e0c5adf5787c5d5570acc1a25c">release</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Mutex_1_1Lock.html#a5cfe52efbd461ff26ecb9b4dc76cb9bd">locked</a> () const </td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Utility class for exception-safe mutex locking. </p>
<dl class="user"><dt><b>Usage example:</b></dt><dd><div class="fragment"><pre class="fragment"> {
   <a class="code" href="classGlib_1_1Mutex_1_1Lock.html" title="Utility class for exception-safe mutex locking.">Glib::Mutex::Lock</a> <a class="code" href="classGlib_1_1Mutex.html#abd565d2c03dbd7526729b8e56ecc675e" title="Locks the mutex.">lock</a> (mutex); <span class="comment">// calls mutex.lock()</span>
   do_something();
 } <span class="comment">// the destructor calls mutex.unlock()</span>
</pre></div> As you can see, the compiler takes care of the unlocking. This is not only exception safe but also much less error-prone. You could even <code>return</code> while still holding the lock and it will be released properly. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd>
<p><a class="el" href="thread_2thread_8cc-example.html#_a4">thread/thread.cc</a>.</p>
</dd>
</dl><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ab203085bd7e2fa065f2e770ff501882e"></a><!-- doxytag: member="Glib::Mutex::Lock::Lock" ref="ab203085bd7e2fa065f2e770ff501882e" args="(Mutex &amp;mutex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Glib::Mutex::Lock::Lock </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlib_1_1Mutex.html">Mutex</a>&amp;&#160;</td>
          <td class="paramname"> <em>mutex</em>&#160;)</td>
          <td><code> [inline, explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a613aa058601c9f05d5663cfc005093a8"></a><!-- doxytag: member="Glib::Mutex::Lock::Lock" ref="a613aa058601c9f05d5663cfc005093a8" args="(Mutex &amp;mutex, NotLock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Glib::Mutex::Lock::Lock </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlib_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="group__Threads.html#ga2dd111336e3b057b51ca5871795fffa4">NotLock</a>&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae795f9ed3b07389eb856be7610362cde"></a><!-- doxytag: member="Glib::Mutex::Lock::Lock" ref="ae795f9ed3b07389eb856be7610362cde" args="(Mutex &amp;mutex, TryLock)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Glib::Mutex::Lock::Lock </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlib_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="group__Threads.html#ga7441a36336ea4cdb35c0fddbf3f97b19">TryLock</a>&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a84f0589eee0654ec60f6773ca9336752"></a><!-- doxytag: member="Glib::Mutex::Lock::~Lock" ref="a84f0589eee0654ec60f6773ca9336752" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Glib::Mutex::Lock::~Lock </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a1f892502061ae908452f7eb0ac920065"></a><!-- doxytag: member="Glib::Mutex::Lock::acquire" ref="a1f892502061ae908452f7eb0ac920065" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Glib::Mutex::Lock::acquire </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5cfe52efbd461ff26ecb9b4dc76cb9bd"></a><!-- doxytag: member="Glib::Mutex::Lock::locked" ref="a5cfe52efbd461ff26ecb9b4dc76cb9bd" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Glib::Mutex::Lock::locked </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ac5bfb4e0c5adf5787c5d5570acc1a25c"></a><!-- doxytag: member="Glib::Mutex::Lock::release" ref="ac5bfb4e0c5adf5787c5d5570acc1a25c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Glib::Mutex::Lock::release </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af2c4e590e2c7f3820df5a4fa8293f280"></a><!-- doxytag: member="Glib::Mutex::Lock::try_acquire" ref="af2c4e590e2c7f3820df5a4fa8293f280" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Glib::Mutex::Lock::try_acquire </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Tue Apr 5 2011 16:07:14 for glibmm by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address>
</body>
</html>