This file is indexed.

/usr/share/doc/libloki-doc/html/a00135.html is in libloki-doc 0.1.7-3ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
<!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: Loki::StrongPtr&lt; T, Strong, OwnershipPolicy, ConversionPolicy, CheckingPolicy, ResetPolicy, DeletePolicy, ConstnessPolicy &gt; Class Template 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&nbsp;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 class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><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>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="a00192.html">Loki</a>::<a class="el" href="a00135.html">StrongPtr</a>
  </div>
</div>
<div class="contents">
<h1>Loki::StrongPtr&lt; T, Strong, OwnershipPolicy, ConversionPolicy, CheckingPolicy, ResetPolicy, DeletePolicy, ConstnessPolicy &gt; Class Template Reference<br>
<small>
[<a class="el" href="a00218.html">Smart pointers</a>]</small>
</h1><!-- doxytag: class="Loki::StrongPtr" --><code>#include &lt;StrongPtr.h&gt;</code>
<p>

<p>
<a href="a00440.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="memTemplParams" nowrap colspan="2">template&lt;typename T1 , bool S1, class OP1 , class CP1 , template&lt; class &gt; class KP1, template&lt; class &gt; class RP1, template&lt; class &gt; class DP1, template&lt; class &gt; class CNP1&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00135.html#e493c465f8e0067db7fa98271be5a0c6">Merge</a> (<a class="el" href="a00135.html">StrongPtr</a>&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;rhs)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#70ad60678f72611567acc26fc718fed6">Lock</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#c3afffc8a90f5369c895a220bcc6db34">Unlock</a> (void)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="0c197e9b4f68669529435577357ffa57"></a><!-- doxytag: member="Loki::StrongPtr::Equals" ref="0c197e9b4f68669529435577357ffa57" args="(const T1 *p) const " -->
template&lt;class T1 &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00135.html#0c197e9b4f68669529435577357ffa57">Equals</a> (const T1 *p) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper function which can be called to avoid exposing GetPointer function. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="baea90f6e505a2afc662fe07c9c117fa"></a><!-- doxytag: member="Loki::StrongPtr::LessThan" ref="baea90f6e505a2afc662fe07c9c117fa" args="(const T1 *p) const " -->
template&lt;class T1 &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00135.html#baea90f6e505a2afc662fe07c9c117fa">LessThan</a> (const T1 *p) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper function which can be called to avoid exposing GetPointer function. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f43b2cde389f926c16e166c418b13040"></a><!-- doxytag: member="Loki::StrongPtr::GreaterThan" ref="f43b2cde389f926c16e166c418b13040" args="(const T1 *p) const " -->
template&lt;class T1 &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00135.html#f43b2cde389f926c16e166c418b13040">GreaterThan</a> (const T1 *p) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper function which can be called to avoid exposing GetPointer function. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a3de2b1fa05e1345761a2227164967ec"></a><!-- doxytag: member="Loki::StrongPtr::operator==" ref="a3de2b1fa05e1345761a2227164967ec" args="(const StrongPtr&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;rhs) const " -->
template&lt;typename T1 , bool S1, class OP1 , class CP1 , template&lt; class &gt; class KP1, template&lt; class &gt; class RP1, template&lt; class &gt; class DP1, template&lt; class &gt; class CNP1&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00135.html#a3de2b1fa05e1345761a2227164967ec">operator==</a> (const <a class="el" href="a00135.html">StrongPtr</a>&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;rhs) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Equality comparison operator is templated to handle ambiguity. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="08e3d6dd0e6731fc1d304ec30f46c67f"></a><!-- doxytag: member="Loki::StrongPtr::operator!=" ref="08e3d6dd0e6731fc1d304ec30f46c67f" args="(const StrongPtr&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;rhs) const " -->
template&lt;typename T1 , bool S1, class OP1 , class CP1 , template&lt; class &gt; class KP1, template&lt; class &gt; class RP1, template&lt; class &gt; class DP1, template&lt; class &gt; class CNP1&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00135.html#08e3d6dd0e6731fc1d304ec30f46c67f">operator!=</a> (const <a class="el" href="a00135.html">StrongPtr</a>&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;rhs) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inequality comparison operator is templated to handle ambiguity. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="d79a42e24523a741ca408fc06a6b496b"></a><!-- doxytag: member="Loki::StrongPtr::operator&lt;" ref="d79a42e24523a741ca408fc06a6b496b" args="(const StrongPtr&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;rhs) const " -->
template&lt;typename T1 , bool S1, class OP1 , class CP1 , template&lt; class &gt; class KP1, template&lt; class &gt; class RP1, template&lt; class &gt; class DP1, template&lt; class &gt; class CNP1&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00135.html#d79a42e24523a741ca408fc06a6b496b">operator&lt;</a> (const <a class="el" href="a00135.html">StrongPtr</a>&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;rhs) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Less-than comparison operator is templated to handle ambiguity. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="b2690debb3f60c59954f63328f00fa56"></a><!-- doxytag: member="Loki::StrongPtr::operator&gt;" ref="b2690debb3f60c59954f63328f00fa56" args="(const StrongPtr&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;rhs) const " -->
template&lt;typename T1 , bool S1, class OP1 , class CP1 , template&lt; class &gt; class KP1, template&lt; class &gt; class RP1, template&lt; class &gt; class DP1, template&lt; class &gt; class CNP1&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00135.html#b2690debb3f60c59954f63328f00fa56">operator&gt;</a> (const <a class="el" href="a00135.html">StrongPtr</a>&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;rhs) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Greater-than comparison operator is templated to handle ambiguity. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="586e58be1f85d76fbe0b43170ed5da14"></a><!-- doxytag: member="Loki::StrongPtr::operator&lt;=" ref="586e58be1f85d76fbe0b43170ed5da14" args="(const StrongPtr&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;rhs) const " -->
template&lt;typename T1 , bool S1, class OP1 , class CP1 , template&lt; class &gt; class KP1, template&lt; class &gt; class RP1, template&lt; class &gt; class DP1, template&lt; class &gt; class CNP1&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00135.html#586e58be1f85d76fbe0b43170ed5da14">operator&lt;=</a> (const <a class="el" href="a00135.html">StrongPtr</a>&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;rhs) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Less-than-or-equal-to operator is templated to handle ambiguity. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="477cf3ea79e8d0f6dff7172372533873"></a><!-- doxytag: member="Loki::StrongPtr::operator&gt;=" ref="477cf3ea79e8d0f6dff7172372533873" args="(const StrongPtr&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;rhs) const " -->
template&lt;typename T1 , bool S1, class OP1 , class CP1 , template&lt; class &gt; class KP1, template&lt; class &gt; class RP1, template&lt; class &gt; class DP1, template&lt; class &gt; class CNP1&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00135.html#477cf3ea79e8d0f6dff7172372533873">operator&gt;=</a> (const <a class="el" href="a00135.html">StrongPtr</a>&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;rhs) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Greater-than-or-equal-to operator is templated to handle ambiguity. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename T, bool Strong = true, class OwnershipPolicy = Loki::TwoRefCounts, class ConversionPolicy = Loki::DisallowConversion, template&lt; class &gt; class CheckingPolicy = Loki::AssertCheck, template&lt; class &gt; class ResetPolicy = Loki::CantResetWithStrong, template&lt; class &gt; class DeletePolicy = Loki::DeleteSingle, template&lt; class &gt; class ConstnessPolicy = LOKI_DEFAULT_CONSTNESS&gt;<br>
 class Loki::StrongPtr&lt; T, Strong, OwnershipPolicy, ConversionPolicy, CheckingPolicy, ResetPolicy, DeletePolicy, ConstnessPolicy &gt;</h3>

<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Strong</em>&nbsp;</td><td>default = true, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>OwnershipPolicy</em>&nbsp;</td><td>default = <a class="el" href="a00139.html">TwoRefCounts</a>, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ConversionPolicy</em>&nbsp;</td><td>default = <a class="el" href="a00050.html">DisallowConversion</a>, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>CheckingPolicy</em>&nbsp;</td><td>default = <a class="el" href="a00010.html">AssertCheck</a>, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ResetPolicy</em>&nbsp;</td><td>default = <a class="el" href="a00015.html">CantResetWithStrong</a>, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>DeletePolicy</em>&nbsp;</td><td>default = <a class="el" href="a00042.html">DeleteSingle</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ConstnessPolicy</em>&nbsp;</td><td>default = LOKI_DEFAULT_CONSTNESS </td></tr>
  </table>
</dl>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="70ad60678f72611567acc26fc718fed6"></a><!-- doxytag: member="Loki::StrongPtr::Lock" ref="70ad60678f72611567acc26fc718fed6" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, bool Strong = true, class OwnershipPolicy = Loki::TwoRefCounts, class ConversionPolicy = Loki::DisallowConversion, template&lt; class &gt; class CheckingPolicy = Loki::AssertCheck, template&lt; class &gt; class ResetPolicy = Loki::CantResetWithStrong, template&lt; class &gt; class DeletePolicy = Loki::DeleteSingle, template&lt; class &gt; class ConstnessPolicy = LOKI_DEFAULT_CONSTNESS&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00135.html">Loki::StrongPtr</a>&lt; T, Strong, OwnershipPolicy, ConversionPolicy, CheckingPolicy, ResetPolicy, DeletePolicy, ConstnessPolicy &gt;::Lock           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Locks <a class="el" href="a00135.html">StrongPtr</a> so other threads can't affect pointer. Requires the OwnershipPolicy to have Lock function. 
</div>
</div><p>
<a class="anchor" name="e493c465f8e0067db7fa98271be5a0c6"></a><!-- doxytag: member="Loki::StrongPtr::Merge" ref="e493c465f8e0067db7fa98271be5a0c6" args="(StrongPtr&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, bool Strong = true, class OwnershipPolicy = Loki::TwoRefCounts, class ConversionPolicy = Loki::DisallowConversion, template&lt; class &gt; class CheckingPolicy = Loki::AssertCheck, template&lt; class &gt; class ResetPolicy = Loki::CantResetWithStrong, template&lt; class &gt; class DeletePolicy = Loki::DeleteSingle, template&lt; class &gt; class ConstnessPolicy = LOKI_DEFAULT_CONSTNESS&gt; </div>
<div class="memtemplate">
template&lt;typename T1 , bool S1, class OP1 , class CP1 , template&lt; class &gt; class KP1, template&lt; class &gt; class RP1, template&lt; class &gt; class DP1, template&lt; class &gt; class CNP1&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00135.html">Loki::StrongPtr</a>&lt; T, Strong, OwnershipPolicy, ConversionPolicy, CheckingPolicy, ResetPolicy, DeletePolicy, ConstnessPolicy &gt;::Merge           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00135.html">StrongPtr</a>&lt; T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Merges ownership of two StrongPtr's that point to same shared object but are not copointers. Requires Merge function in OwnershipPolicy. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True for success, false if not pointer to same object. </dd></dl>

</div>
</div><p>
<a class="anchor" name="c3afffc8a90f5369c895a220bcc6db34"></a><!-- doxytag: member="Loki::StrongPtr::Unlock" ref="c3afffc8a90f5369c895a220bcc6db34" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T, bool Strong = true, class OwnershipPolicy = Loki::TwoRefCounts, class ConversionPolicy = Loki::DisallowConversion, template&lt; class &gt; class CheckingPolicy = Loki::AssertCheck, template&lt; class &gt; class ResetPolicy = Loki::CantResetWithStrong, template&lt; class &gt; class DeletePolicy = Loki::DeleteSingle, template&lt; class &gt; class ConstnessPolicy = LOKI_DEFAULT_CONSTNESS&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00135.html">Loki::StrongPtr</a>&lt; T, Strong, OwnershipPolicy, ConversionPolicy, CheckingPolicy, ResetPolicy, DeletePolicy, ConstnessPolicy &gt;::Unlock           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Unlocks <a class="el" href="a00135.html">StrongPtr</a> so other threads can affect pointer. Requires the OwnershipPolicy to have Unlock function. 
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>StrongPtr.h</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Jan 29 18:51:45 2009 for Loki by&nbsp;
<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>