<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>glibmm 2.4: Glib::StaticMutex Struct Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#ffffff"> <table border="0" width="100%"> <tr> <td width="10%" height="40"><img src="../../images/gtkmm_logo.gif" alt="logo" border="0" width="100%" height="100%"/></td> <td width="90%" height="40"><img src="../../images/top.gif" alt="top" width="100%" height="40"/></td> </tr> </table> <center> <a class="qindex" href="../../../../gtkmm-2.4/docs/index.html">Main Page</a> <a href="../../../../gtkmm-2.4/docs/reference/html/group__Widgets.html">Widgets</a> <a class="qindex" href="namespaces.html">glibmm Namespaces</a> <a href="../../../../gtkmm-2.4/docs/tutorial/html/index.html"> Book</a> </center> <hr width="100%"/> <!-- begin main content --> <div id="content"> <!-- Generated by Doxygen 1.5.3 --> <div class="nav"> <a class="el" href="namespaceGlib.html">Glib</a>::<a class="el" href="structGlib_1_1StaticMutex.html">StaticMutex</a></div> <h1>Glib::StaticMutex Struct Reference<br> <small> [<a class="el" href="group__Threads.html">Threads</a>]</small> </h1><!-- doxytag: class="Glib::StaticMutex" -->Like <a class="el" href="classGlib_1_1Mutex.html" title="Represents a mutex (mutual exclusion).">Glib::Mutex</a>, but can be defined at compile time. <a href="#_details">More...</a> <p> <p> <a href="structGlib_1_1StaticMutex-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structGlib_1_1StaticMutex.html#7052b89e18e8c7fa2c987dc429a01296">lock</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structGlib_1_1StaticMutex.html#874e22be27896359ecb4008cd6e6f8ab">trylock</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structGlib_1_1StaticMutex.html#539181ea215c00c84e90d4f7a0131e4d">unlock</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structGlib_1_1StaticMutex.html#144e7de846446e2ce1740adc7bf0dc9a">operator Mutex&</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">GStaticMutex* </td><td class="memItemRight" valign="bottom"><a class="el" href="structGlib_1_1StaticMutex.html#381d25917d27c665d3db638b4aa8b743">gobj</a> ()</td></tr> <tr><td colspan="2"><br><h2>Related Functions</h2></td></tr> <tr><td colspan="2">(Note that these are not member functions.) <br><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structGlib_1_1StaticMutex.html#e6c90ef370e11fbbe9f0cf8fa295dd0b">GLIBMM_STATIC_MUTEX_INIT</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Initializer macro for <a class="el" href="structGlib_1_1StaticMutex.html" title="Like Glib::Mutex, but can be defined at compile time.">Glib::StaticMutex</a>. <a href="#e6c90ef370e11fbbe9f0cf8fa295dd0b"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Like <a class="el" href="classGlib_1_1Mutex.html" title="Represents a mutex (mutual exclusion).">Glib::Mutex</a>, but can be defined at compile time. <p> Use <code>GLIBMM_STATIC_MUTEX_INIT</code> to initialize a <a class="el" href="structGlib_1_1StaticMutex.html" title="Like Glib::Mutex, but can be defined at compile time.">StaticMutex</a>: <div class="fragment"><pre class="fragment"> <a class="code" href="structGlib_1_1StaticMutex.html" title="Like Glib::Mutex, but can be defined at compile time.">Glib::StaticMutex</a> mutex = <a class="code" href="structGlib_1_1StaticMutex.html#e6c90ef370e11fbbe9f0cf8fa295dd0b" title="Initializer macro for Glib::StaticMutex.">GLIBMM_STATIC_MUTEX_INIT</a>; </pre></div> A <a class="el" href="structGlib_1_1StaticMutex.html" title="Like Glib::Mutex, but can be defined at compile time.">StaticMutex</a> can be used without calling <a class="el" href="group__Threads.html#gb26d01c776801f1fff00753e97af4fc7" title="Initializes the GLib thread system.">Glib::thread_init()</a>, it will silently do nothing then. That will also work when using the implicit conversion to <a class="el" href="classGlib_1_1Mutex.html" title="Represents a mutex (mutual exclusion).">Mutex</a>&, thus you can safely use <a class="el" href="classGlib_1_1Mutex_1_1Lock.html" title="Utility class for exception-safe mutex locking.">Mutex::Lock</a> with a <a class="el" href="structGlib_1_1StaticMutex.html" title="Like Glib::Mutex, but can be defined at compile time.">StaticMutex</a>. <hr><h2>Member Function Documentation</h2> <a class="anchor" name="7052b89e18e8c7fa2c987dc429a01296"></a><!-- doxytag: member="Glib::StaticMutex::lock" ref="7052b89e18e8c7fa2c987dc429a01296" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Glib::StaticMutex::lock </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="874e22be27896359ecb4008cd6e6f8ab"></a><!-- doxytag: member="Glib::StaticMutex::trylock" ref="874e22be27896359ecb4008cd6e6f8ab" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Glib::StaticMutex::trylock </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="539181ea215c00c84e90d4f7a0131e4d"></a><!-- doxytag: member="Glib::StaticMutex::unlock" ref="539181ea215c00c84e90d4f7a0131e4d" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Glib::StaticMutex::unlock </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="144e7de846446e2ce1740adc7bf0dc9a"></a><!-- doxytag: member="Glib::StaticMutex::operator Mutex &" ref="144e7de846446e2ce1740adc7bf0dc9a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Glib::StaticMutex::operator <a class="el" href="classGlib_1_1Mutex.html">Mutex</a>& </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="381d25917d27c665d3db638b4aa8b743"></a><!-- doxytag: member="Glib::StaticMutex::gobj" ref="381d25917d27c665d3db638b4aa8b743" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GStaticMutex* Glib::StaticMutex::gobj </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Friends And Related Function Documentation</h2> <a class="anchor" name="e6c90ef370e11fbbe9f0cf8fa295dd0b"></a><!-- doxytag: member="Glib::StaticMutex::GLIBMM_STATIC_MUTEX_INIT" ref="e6c90ef370e11fbbe9f0cf8fa295dd0b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GLIBMM_STATIC_MUTEX_INIT<code> [related]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> Initializer macro for <a class="el" href="structGlib_1_1StaticMutex.html" title="Like Glib::Mutex, but can be defined at compile time.">Glib::StaticMutex</a>. <p> </div> </div><p> <hr>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="thread_8h.html">thread.h</a></ul> </div> <!-- end main content --> <hr><address><small> Generated for glibmm 2.4 by <a href="http://www.doxygen.org/index.html"> Doxygen</a> 1.5.3 © 1997-2001</small></address> </body> </html>