<!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>OpenThreads: OpenThreads::ReadWriteMutex 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.4 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">OpenThreads</div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</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> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a00028.html">OpenThreads</a> </li> <li class="navelem"><a class="el" href="a00008.html">ReadWriteMutex</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> </div> <div class="headertitle"> <div class="title">OpenThreads::ReadWriteMutex Class Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="OpenThreads::ReadWriteMutex" --> <p><a href="a00038.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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#a15b657468c0e6548df371df3dd3bdd5f">ReadWriteMutex</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#a4c10a8527e844c48a88ebad59b6abe86">~ReadWriteMutex</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#ada6a1e68519232a338515502d134d005">readLock</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#a4fea9ae3130a5bd2a167d25da5aadb9e">readUnlock</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#af135279e84aeedb319383b4359bf776a">writeLock</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#a7a820ccd1ed5b6ebaddb5e37daaa266b">writeUnlock</a> ()</td></tr> <tr><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#a5f9dff38ea3eb4e1115e0d9142629db9">ReadWriteMutex</a> (const <a class="el" href="a00008.html">ReadWriteMutex</a> &)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00008.html">ReadWriteMutex</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#a670910dfb688a10144087d9bb34fd924">operator=</a> (const <a class="el" href="a00008.html">ReadWriteMutex</a> &)</td></tr> <tr><td colspan="2"><h2><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00007.html">OpenThreads::Mutex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#a254eb94d9f9969534c3059d3945eda1d">_readWriteMutex</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00007.html">OpenThreads::Mutex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#a5dee7d5251d74a9b6e086a21d833faa1">_readCountMutex</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#a407dedc7fe99bf3deee8ef6cd740f72f">_readCount</a></td></tr> </table> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a15b657468c0e6548df371df3dd3bdd5f"></a><!-- doxytag: member="OpenThreads::ReadWriteMutex::ReadWriteMutex" ref="a15b657468c0e6548df371df3dd3bdd5f" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">OpenThreads::ReadWriteMutex::ReadWriteMutex </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a4c10a8527e844c48a88ebad59b6abe86"></a><!-- doxytag: member="OpenThreads::ReadWriteMutex::~ReadWriteMutex" ref="a4c10a8527e844c48a88ebad59b6abe86" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual OpenThreads::ReadWriteMutex::~ReadWriteMutex </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a5f9dff38ea3eb4e1115e0d9142629db9"></a><!-- doxytag: member="OpenThreads::ReadWriteMutex::ReadWriteMutex" ref="a5f9dff38ea3eb4e1115e0d9142629db9" args="(const ReadWriteMutex &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">OpenThreads::ReadWriteMutex::ReadWriteMutex </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00008.html">ReadWriteMutex</a> & </td> <td class="paramname"></td><td>)</td> <td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a670910dfb688a10144087d9bb34fd924"></a><!-- doxytag: member="OpenThreads::ReadWriteMutex::operator=" ref="a670910dfb688a10144087d9bb34fd924" args="(const ReadWriteMutex &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00008.html">ReadWriteMutex</a>& OpenThreads::ReadWriteMutex::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00008.html">ReadWriteMutex</a> & </td> <td class="paramname"></td><td>)</td> <td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ada6a1e68519232a338515502d134d005"></a><!-- doxytag: member="OpenThreads::ReadWriteMutex::readLock" ref="ada6a1e68519232a338515502d134d005" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int OpenThreads::ReadWriteMutex::readLock </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>References <a class="el" href="a00008.html#a407dedc7fe99bf3deee8ef6cd740f72f">_readCount</a>, <a class="el" href="a00008.html#a5dee7d5251d74a9b6e086a21d833faa1">_readCountMutex</a>, <a class="el" href="a00008.html#a254eb94d9f9969534c3059d3945eda1d">_readWriteMutex</a>, and <a class="el" href="a00007.html#aac109abb620cbaf66f56570cd9c617fb">OpenThreads::Mutex::lock()</a>.</p> <p>Referenced by <a class="el" href="a00014.html#afe867ae25ce0ab55d70cdb6cf322e6b2">OpenThreads::ScopedReadLock::ScopedReadLock()</a>.</p> </div> </div> <a class="anchor" id="a4fea9ae3130a5bd2a167d25da5aadb9e"></a><!-- doxytag: member="OpenThreads::ReadWriteMutex::readUnlock" ref="a4fea9ae3130a5bd2a167d25da5aadb9e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int OpenThreads::ReadWriteMutex::readUnlock </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>References <a class="el" href="a00008.html#a407dedc7fe99bf3deee8ef6cd740f72f">_readCount</a>, <a class="el" href="a00008.html#a5dee7d5251d74a9b6e086a21d833faa1">_readCountMutex</a>, <a class="el" href="a00008.html#a254eb94d9f9969534c3059d3945eda1d">_readWriteMutex</a>, and <a class="el" href="a00007.html#a49a455fba411cd9c7aea2f515f8d5600">OpenThreads::Mutex::unlock()</a>.</p> <p>Referenced by <a class="el" href="a00014.html#af94a8ed79c2701e18fcdaf78207a342d">OpenThreads::ScopedReadLock::~ScopedReadLock()</a>.</p> </div> </div> <a class="anchor" id="af135279e84aeedb319383b4359bf776a"></a><!-- doxytag: member="OpenThreads::ReadWriteMutex::writeLock" ref="af135279e84aeedb319383b4359bf776a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int OpenThreads::ReadWriteMutex::writeLock </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>References <a class="el" href="a00008.html#a254eb94d9f9969534c3059d3945eda1d">_readWriteMutex</a>, and <a class="el" href="a00007.html#aac109abb620cbaf66f56570cd9c617fb">OpenThreads::Mutex::lock()</a>.</p> <p>Referenced by <a class="el" href="a00015.html#a19b07f08b891f0f3e5ab34628ed72655">OpenThreads::ScopedWriteLock::ScopedWriteLock()</a>.</p> </div> </div> <a class="anchor" id="a7a820ccd1ed5b6ebaddb5e37daaa266b"></a><!-- doxytag: member="OpenThreads::ReadWriteMutex::writeUnlock" ref="a7a820ccd1ed5b6ebaddb5e37daaa266b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int OpenThreads::ReadWriteMutex::writeUnlock </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>References <a class="el" href="a00008.html#a254eb94d9f9969534c3059d3945eda1d">_readWriteMutex</a>, and <a class="el" href="a00007.html#a49a455fba411cd9c7aea2f515f8d5600">OpenThreads::Mutex::unlock()</a>.</p> <p>Referenced by <a class="el" href="a00015.html#aedbfafe94b6f7dbe6c1007fa3b7857f5">OpenThreads::ScopedWriteLock::~ScopedWriteLock()</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a407dedc7fe99bf3deee8ef6cd740f72f"></a><!-- doxytag: member="OpenThreads::ReadWriteMutex::_readCount" ref="a407dedc7fe99bf3deee8ef6cd740f72f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int <a class="el" href="a00008.html#a407dedc7fe99bf3deee8ef6cd740f72f">OpenThreads::ReadWriteMutex::_readCount</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="a00008.html#ada6a1e68519232a338515502d134d005">readLock()</a>, and <a class="el" href="a00008.html#a4fea9ae3130a5bd2a167d25da5aadb9e">readUnlock()</a>.</p> </div> </div> <a class="anchor" id="a5dee7d5251d74a9b6e086a21d833faa1"></a><!-- doxytag: member="OpenThreads::ReadWriteMutex::_readCountMutex" ref="a5dee7d5251d74a9b6e086a21d833faa1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00007.html">OpenThreads::Mutex</a> <a class="el" href="a00008.html#a5dee7d5251d74a9b6e086a21d833faa1">OpenThreads::ReadWriteMutex::_readCountMutex</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="a00008.html#ada6a1e68519232a338515502d134d005">readLock()</a>, and <a class="el" href="a00008.html#a4fea9ae3130a5bd2a167d25da5aadb9e">readUnlock()</a>.</p> </div> </div> <a class="anchor" id="a254eb94d9f9969534c3059d3945eda1d"></a><!-- doxytag: member="OpenThreads::ReadWriteMutex::_readWriteMutex" ref="a254eb94d9f9969534c3059d3945eda1d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00007.html">OpenThreads::Mutex</a> <a class="el" href="a00008.html#a254eb94d9f9969534c3059d3945eda1d">OpenThreads::ReadWriteMutex::_readWriteMutex</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Referenced by <a class="el" href="a00008.html#ada6a1e68519232a338515502d134d005">readLock()</a>, <a class="el" href="a00008.html#a4fea9ae3130a5bd2a167d25da5aadb9e">readUnlock()</a>, <a class="el" href="a00008.html#af135279e84aeedb319383b4359bf776a">writeLock()</a>, and <a class="el" href="a00008.html#a7a820ccd1ed5b6ebaddb5e37daaa266b">writeUnlock()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>OpenThreads/<a class="el" href="a00023.html">ReadWriteMutex</a></li> </ul> </div> <hr> <table border="0"><tr><td> <img src="osg32-32.png" alt="osg logo" /> </td><td> <address><small>Generated at Wed Apr 27 2011 12:36:53 for the <a href="http://www.openscenegraph.org/">OpenThreads</a> by <a href="http://www.doxygen.org">doxygen</a> 1.7.4.</small></address> <!-- Dimitri van Heesch's e-mail address removed, lest he get messages on the OpenSceneGraph --> </td></tr></table> </body> </html>