1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Loki: LevelMutex.h File 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.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label> <u>S</u>earch for </label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>File Members</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>LevelMutex.h File Reference</h1>Defines classes and functions for LevelMutex facility.
<a href="#_details">More...</a>
<p>
<code>#include <vector></code><br>
<code>#include <assert.h></code><br>
<code>#include <time.h></code><br>
<code>#include <pthread.h></code><br>
<code>#include <unistd.h></code><br>
<p>
<div class="dynheader">
Include dependency graph for LevelMutex.h:</div>
<div class="dynsection">
</div>
<p>
<div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dynsection">
</div>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html">Loki::LevelMutexInfo</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html">Loki::LevelMutexInfo::LevelMutexInfo::Checker</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html">Loki::LevelMutexInfo::LevelMutexInfo::MutexUndoer</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00136.html">Loki::ThrowOnAnyMutexError</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00137.html">Loki::ThrowOnBadDesignMutexError</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html">Loki::AssertAnyMutexError</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html">Loki::AssertBadDesignMutexError</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html">Loki::JustReturnMutexError</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html">Loki::NoMutexWait</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html">Loki::MutexSleepWaits</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00133.html">Loki::SpinLevelMutex</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html">Loki::SleepLevelMutex</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html">Loki::LevelMutex< MutexPolicy, DefaultLevel, ErrorPolicy, WaitPolicy ></a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html">Loki::MutexException</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html">Loki::MutexLocker</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html">Loki::MultiMutexLocker</a></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="a00192.html">Loki</a></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#8235533deec74e2a08322dd48eab5ab2">LOKI_THREAD_LOCAL</a> thread_local</td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00192.html#9548795d9cda6f227a1e1241ba577ca8">Loki::GetCurrentThreadsLevel</a> (void)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00192.html#ed0bb857431a808474a4b817d5c37f1c">Loki::CountMutexesInCurrentThread</a> (void)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00192.html#ae4c5edaad45b3657f39e8cdbae0f928">Loki::CountLocksInCurrentThread</a> (void)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00192.html#8cb767d3e7aaf2fe44b8f3b90218b876">Loki::CountMutexesAtCurrentLevel</a> (void)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">MutexErrors::Type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00192.html#d633ca81ae0befaf235ae63886368037">Loki::DoMutexesMatchContainer</a> (const LevelMutexInfo::MutexContainer &mutexes)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Defines classes and functions for LevelMutex facility.
<p>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="8235533deec74e2a08322dd48eab5ab2"></a><!-- doxytag: member="LevelMutex.h::LOKI_THREAD_LOCAL" ref="8235533deec74e2a08322dd48eab5ab2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOKI_THREAD_LOCAL thread_local </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<dl class="user" compact><dt><b>thread_local Keyword</b></dt><dd>The mutexes require compilers to provide thread local storage - meaning each thread gets its own copy of the data. The next version of C++ will have a new keyword, thread_local for that purpose. Some existing compilers already provide thread local storage using different syntax, so these lines use thread_local to mimic that syntax. If your compiler provides thread local storage but using different syntax besides "thread_local", you may want to modify these lines. If your compiler does not support thread local storage, you can't use LevelMutex. </dd></dl>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Jan 29 18:51:40 2009 for Loki by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>
|