root/library/doc/html/classbdm_1_1shared__ptr.html @ 656

Revision 656, 23.7 kB (checked in by smidl, 15 years ago)

doc

Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<title>mixpp: bdm::shared_ptr&lt; T &gt; Class Template Reference</title>
6<link href="tabs.css" rel="stylesheet" type="text/css"/>
7<link href="doxygen.css" rel="stylesheet" type="text/css"/>
8</head>
9<body>
10<!-- Generated by Doxygen 1.6.1 -->
11<script type="text/javascript">
12<!--
13function changeDisplayState (e){
14  var num=this.id.replace(/[^[0-9]/g,'');
15  var button=this.firstChild;
16  var sectionDiv=document.getElementById('dynsection'+num);
17  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
18    sectionDiv.style.display='block';
19    button.src='open.gif';
20  }else{
21    sectionDiv.style.display='none';
22    button.src='closed.gif';
23  }
24}
25function initDynSections(){
26  var divs=document.getElementsByTagName('div');
27  var sectionCounter=1;
28  for(var i=0;i<divs.length-1;i++){
29    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
30      var header=divs[i];
31      var section=divs[i+1];
32      var button=header.firstChild;
33      if (button!='IMG'){
34        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
35        button=document.createElement('img');
36        divs[i].insertBefore(button,divs[i].firstChild);
37      }
38      header.style.cursor='pointer';
39      header.onclick=changeDisplayState;
40      header.id='dynheader'+sectionCounter;
41      button.src='closed.gif';
42      section.id='dynsection'+sectionCounter;
43      section.style.display='none';
44      section.style.marginLeft='14px';
45      sectionCounter++;
46    }
47  }
48}
49window.onload = initDynSections;
50-->
51</script>
52<div class="navigation" id="top">
53  <div class="tabs">
54    <ul>
55      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
56      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
57      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
58      <li><a href="files.html"><span>Files</span></a></li>
59    </ul>
60  </div>
61  <div class="tabs">
62    <ul>
63      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
64      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
65      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
66      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
67    </ul>
68  </div>
69  <div class="navpath"><b>bdm</b>::<a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>
70  </div>
71</div>
72<div class="contents">
73<h1>bdm::shared_ptr&lt; T &gt; Class Template Reference</h1><!-- doxytag: class="bdm::shared_ptr" -->
74<p>A naive implementation of roughly a subset of the std::tr1::shared_ptr spec. 
75<a href="#_details">More...</a></p>
76<hr/><a name="_details"></a><h2>Detailed Description</h2>
77<h3>template&lt;typename T&gt;<br/>
78 class bdm::shared_ptr&lt; T &gt;</h3>
79
80<p>A naive implementation of roughly a subset of the std::tr1::shared_ptr spec. </p>
81<p>Really just roughly - it ignores memory exceptions, for example; also note I didn't read the spec.</p>
82<p>The standard template would naturally be preferable, <b>if</b> it was included in the standard libraries of all supported compilers - but as of 2009, that's still a problem... </p>
83
84<p><code>#include &lt;<a class="el" href="shared__ptr_8h_source.html">shared_ptr.h</a>&gt;</code></p>
85
86<p><a href="classbdm_1_1shared__ptr-members.html">List of all members.</a></p>
87<table border="0" cellpadding="0" cellspacing="0">
88<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
89<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#a66a4d41031e37618f1a9bb3c81814c11">shared_ptr</a> ()</td></tr>
90<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#a66a4d41031e37618f1a9bb3c81814c11"></a><br/></td></tr>
91<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#ac8b7f0a813173581530c80d7ac4fc7c2">shared_ptr</a> (T *p)</td></tr>
92<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#a357702d12bfd608a08b46e4a194aa4b5">shared_ptr</a> (const <a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>&lt; T &gt; &amp;other)</td></tr>
93<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor.  <a href="#a357702d12bfd608a08b46e4a194aa4b5"></a><br/></td></tr>
94<tr><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
95<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#aaffa5b17385493f4102c52cf75d3b509">shared_ptr</a> (const <a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>&lt; U &gt; &amp;other)</td></tr>
96<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generalized copy.  <a href="#aaffa5b17385493f4102c52cf75d3b509"></a><br/></td></tr>
97<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#a79374842e417d2f64e449e374be4cfc1">~shared_ptr</a> ()</td></tr>
98<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55263b1c8efbd3f8fddf703e2c457f6c"></a><!-- doxytag: member="bdm::shared_ptr::operator=" ref="a55263b1c8efbd3f8fddf703e2c457f6c" args="(const shared_ptr&lt; T &gt; &amp;other)" -->
99<a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#a55263b1c8efbd3f8fddf703e2c457f6c">operator=</a> (const <a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>&lt; T &gt; &amp;other)</td></tr>
100<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator. <br/></td></tr>
101<tr><td class="memItemLeft" align="right" valign="top">T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#a37ebcfb6750dd7b5630f1d2354c07a96">get</a> ()</td></tr>
102<tr><td class="memItemLeft" align="right" valign="top">T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#abcaae812868eacbad050beda465d2327">operator-&gt;</a> ()</td></tr>
103<tr><td class="memItemLeft" align="right" valign="top">T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#ade38de837267becf5eed2839fea42c45">operator*</a> ()</td></tr>
104<tr><td class="memItemLeft" align="right" valign="top">const T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#afff45e4841b2921cd42ce0691f8c1196">get</a> () const </td></tr>
105<tr><td class="memItemLeft" align="right" valign="top">const T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#ad89ec7ceb318241d833c7d278444396d">operator-&gt;</a> () const </td></tr>
106<tr><td class="memItemLeft" align="right" valign="top">const T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#ade000a72fe73804aa26962432f264800">operator*</a> () const </td></tr>
107<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a338dbc6aa9fd95175abdc2df3ae2c284"></a><!-- doxytag: member="bdm::shared_ptr::unique" ref="a338dbc6aa9fd95175abdc2df3ae2c284" args="() const " -->
108bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#a338dbc6aa9fd95175abdc2df3ae2c284">unique</a> () const </td></tr>
109<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns <a class="el" href="classbdm_1_1shared__ptr.html#a8e52b8887a4408c52b5263a5717343f2">use_count()</a> == 1. <br/></td></tr>
110<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#a8e52b8887a4408c52b5263a5717343f2">use_count</a> () const </td></tr>
111<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#a6cac71bb600f9f7c6fbed9335fd22d37">operator bool</a> () const </td></tr>
112<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Boolean cast.  <a href="#a6cac71bb600f9f7c6fbed9335fd22d37"></a><br/></td></tr>
113<tr><td class="memTemplParams" colspan="2">template&lt;typename U &gt; </td></tr>
114<tr><td class="memTemplItemLeft" align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#ab3cd369b00369ab92456aa0645e8d560">operator shared_ptr&lt; const U &gt;</a> () const </td></tr>
115<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">const cast  <a href="#ab3cd369b00369ab92456aa0645e8d560"></a><br/></td></tr>
116<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afca7fd588f8de50e7590357305b00984"></a><!-- doxytag: member="bdm::shared_ptr::swap" ref="afca7fd588f8de50e7590357305b00984" args="(shared_ptr &amp;other)" -->
117void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#afca7fd588f8de50e7590357305b00984">swap</a> (<a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a> &amp;other)</td></tr>
118<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Efficient swap for <a class="el" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr</a>. <br/></td></tr>
119<tr><td colspan="2"><h2>Friends</h2></td></tr>
120<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a4da829475f0cf1809fc6ef555ffe06"></a><!-- doxytag: member="bdm::shared_ptr::shared_ptr" ref="a9a4da829475f0cf1809fc6ef555ffe06" args="" -->
121class&nbsp;</td><td class="memItemRight" valign="bottom"><b>shared_ptr</b></td></tr>
122</table>
123<hr/><h2>Constructor &amp; Destructor Documentation</h2>
124<a class="anchor" id="a66a4d41031e37618f1a9bb3c81814c11"></a><!-- doxytag: member="bdm::shared_ptr::shared_ptr" ref="a66a4d41031e37618f1a9bb3c81814c11" args="()" -->
125<div class="memitem">
126<div class="memproto">
127<div class="memtemplate">
128template&lt;typename T&gt; </div>
129      <table class="memname">
130        <tr>
131          <td class="memname"><a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::<a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a> </td>
132          <td>(</td>
133          <td class="paramname"></td>
134          <td>&nbsp;)&nbsp;</td>
135          <td><code> [inline]</code></td>
136        </tr>
137      </table>
138</div>
139<div class="memdoc">
140
141<p>Default constructor. </p>
142<p>Creates an empty <a class="el" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr</a> - one that doesn't point anywhere. </p>
143
144</div>
145</div>
146<a class="anchor" id="ac8b7f0a813173581530c80d7ac4fc7c2"></a><!-- doxytag: member="bdm::shared_ptr::shared_ptr" ref="ac8b7f0a813173581530c80d7ac4fc7c2" args="(T *p)" -->
147<div class="memitem">
148<div class="memproto">
149<div class="memtemplate">
150template&lt;typename T&gt; </div>
151      <table class="memname">
152        <tr>
153          <td class="memname"><a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::<a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a> </td>
154          <td>(</td>
155          <td class="paramtype">T *&nbsp;</td>
156          <td class="paramname"> <em>p</em></td>
157          <td>&nbsp;)&nbsp;</td>
158          <td><code> [inline]</code></td>
159        </tr>
160      </table>
161</div>
162<div class="memdoc">
163<p>Constructs a <a class="el" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr</a> that owns the pointer p (unless p is NULL, in which case this constructor creates an empty <a class="el" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr</a>). When p isn't null, it must have been alllocated by new! </p>
164
165</div>
166</div>
167<a class="anchor" id="a357702d12bfd608a08b46e4a194aa4b5"></a><!-- doxytag: member="bdm::shared_ptr::shared_ptr" ref="a357702d12bfd608a08b46e4a194aa4b5" args="(const shared_ptr&lt; T &gt; &amp;other)" -->
168<div class="memitem">
169<div class="memproto">
170<div class="memtemplate">
171template&lt;typename T&gt; </div>
172      <table class="memname">
173        <tr>
174          <td class="memname"><a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::<a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a> </td>
175          <td>(</td>
176          <td class="paramtype">const <a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>&lt; T &gt; &amp;&nbsp;</td>
177          <td class="paramname"> <em>other</em></td>
178          <td>&nbsp;)&nbsp;</td>
179          <td><code> [inline]</code></td>
180        </tr>
181      </table>
182</div>
183<div class="memdoc">
184
185<p>Copy constructor. </p>
186<p>If other is empty, constructs an empty <a class="el" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr</a>; otherwise, constructs a <a class="el" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr</a> that shares ownership with other. </p>
187
188</div>
189</div>
190<a class="anchor" id="aaffa5b17385493f4102c52cf75d3b509"></a><!-- doxytag: member="bdm::shared_ptr::shared_ptr" ref="aaffa5b17385493f4102c52cf75d3b509" args="(const shared_ptr&lt; U &gt; &amp;other)" -->
191<div class="memitem">
192<div class="memproto">
193<div class="memtemplate">
194template&lt;typename T&gt; </div>
195<div class="memtemplate">
196template&lt;typename U &gt; </div>
197      <table class="memname">
198        <tr>
199          <td class="memname"><a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::<a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a> </td>
200          <td>(</td>
201          <td class="paramtype">const <a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>&lt; U &gt; &amp;&nbsp;</td>
202          <td class="paramname"> <em>other</em></td>
203          <td>&nbsp;)&nbsp;</td>
204          <td><code> [inline]</code></td>
205        </tr>
206      </table>
207</div>
208<div class="memdoc">
209
210<p>Generalized copy. </p>
211<p>Allows initialization of shared pointer of a base type from raw pointer to a derived type.</p>
212<p>If other is empty, constructs an empty <a class="el" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr</a>; otherwise, constructs a <a class="el" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr</a> that shares ownership with other. </p>
213
214</div>
215</div>
216<a class="anchor" id="a79374842e417d2f64e449e374be4cfc1"></a><!-- doxytag: member="bdm::shared_ptr::~shared_ptr" ref="a79374842e417d2f64e449e374be4cfc1" args="()" -->
217<div class="memitem">
218<div class="memproto">
219<div class="memtemplate">
220template&lt;typename T&gt; </div>
221      <table class="memname">
222        <tr>
223          <td class="memname"><a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::~<a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a> </td>
224          <td>(</td>
225          <td class="paramname"></td>
226          <td>&nbsp;)&nbsp;</td>
227          <td><code> [inline]</code></td>
228        </tr>
229      </table>
230</div>
231<div class="memdoc">
232<p>Destructor. </p>
233
234</div>
235</div>
236<hr/><h2>Member Function Documentation</h2>
237<a class="anchor" id="afff45e4841b2921cd42ce0691f8c1196"></a><!-- doxytag: member="bdm::shared_ptr::get" ref="afff45e4841b2921cd42ce0691f8c1196" args="() const " -->
238<div class="memitem">
239<div class="memproto">
240<div class="memtemplate">
241template&lt;typename T&gt; </div>
242      <table class="memname">
243        <tr>
244          <td class="memname">const T* <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::get </td>
245          <td>(</td>
246          <td class="paramname"></td>
247          <td>&nbsp;)&nbsp;</td>
248          <td> const<code> [inline]</code></td>
249        </tr>
250      </table>
251</div>
252<div class="memdoc">
253<p>Returns the stored pointer (which remains owned by this instance). For empty instances, this method returns NULL. </p>
254
255</div>
256</div>
257<a class="anchor" id="a37ebcfb6750dd7b5630f1d2354c07a96"></a><!-- doxytag: member="bdm::shared_ptr::get" ref="a37ebcfb6750dd7b5630f1d2354c07a96" args="()" -->
258<div class="memitem">
259<div class="memproto">
260<div class="memtemplate">
261template&lt;typename T&gt; </div>
262      <table class="memname">
263        <tr>
264          <td class="memname">T* <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::get </td>
265          <td>(</td>
266          <td class="paramname"></td>
267          <td>&nbsp;)&nbsp;</td>
268          <td><code> [inline]</code></td>
269        </tr>
270      </table>
271</div>
272<div class="memdoc">
273<p>Returns the stored pointer (which remains owned by this instance). For empty instances, this method returns NULL. </p>
274
275<p>Referenced by <a class="el" href="bdmbase_8cpp_source.html#l00375">bdm::mepdf::from_setting()</a>, <a class="el" href="bdmbase_8h_source.html#l00906">bdm::mepdf::mepdf()</a>, and <a class="el" href="kalman_8h_source.html#l00122">bdm::Kalman&lt; fsqmat &gt;::posterior()</a>.</p>
276
277</div>
278</div>
279<a class="anchor" id="a6cac71bb600f9f7c6fbed9335fd22d37"></a><!-- doxytag: member="bdm::shared_ptr::operator bool" ref="a6cac71bb600f9f7c6fbed9335fd22d37" args="() const " -->
280<div class="memitem">
281<div class="memproto">
282<div class="memtemplate">
283template&lt;typename T&gt; </div>
284      <table class="memname">
285        <tr>
286          <td class="memname"><a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::operator bool </td>
287          <td>(</td>
288          <td class="paramname"></td>
289          <td>&nbsp;)&nbsp;</td>
290          <td> const<code> [inline]</code></td>
291        </tr>
292      </table>
293</div>
294<div class="memdoc">
295
296<p>Boolean cast. </p>
297<p>This operator returns true if and only if the instance isn't empty. </p>
298
299</div>
300</div>
301<a class="anchor" id="ab3cd369b00369ab92456aa0645e8d560"></a><!-- doxytag: member="bdm::shared_ptr::operator shared_ptr&lt; const U &gt;" ref="ab3cd369b00369ab92456aa0645e8d560" args="() const " -->
302<div class="memitem">
303<div class="memproto">
304<div class="memtemplate">
305template&lt;typename T&gt; </div>
306<div class="memtemplate">
307template&lt;typename U &gt; </div>
308      <table class="memname">
309        <tr>
310          <td class="memname"><a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::operator <a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>&lt; const U &gt; </td>
311          <td>(</td>
312          <td class="paramname"></td>
313          <td>&nbsp;)&nbsp;</td>
314          <td> const<code> [inline]</code></td>
315        </tr>
316      </table>
317</div>
318<div class="memdoc">
319
320<p>const cast </p>
321<p>Shared pointer to T can be converted to shared pointer to const T, just like T * can be converted to T const *. </p>
322
323</div>
324</div>
325<a class="anchor" id="ade000a72fe73804aa26962432f264800"></a><!-- doxytag: member="bdm::shared_ptr::operator*" ref="ade000a72fe73804aa26962432f264800" args="() const " -->
326<div class="memitem">
327<div class="memproto">
328<div class="memtemplate">
329template&lt;typename T&gt; </div>
330      <table class="memname">
331        <tr>
332          <td class="memname">const T&amp; <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::operator* </td>
333          <td>(</td>
334          <td class="paramname"></td>
335          <td>&nbsp;)&nbsp;</td>
336          <td> const<code> [inline]</code></td>
337        </tr>
338      </table>
339</div>
340<div class="memdoc">
341<p>Returns a reference to the object pointed to by the stored pointer. This method may only be called when the stored pointer isn't NULL. </p>
342
343</div>
344</div>
345<a class="anchor" id="ade38de837267becf5eed2839fea42c45"></a><!-- doxytag: member="bdm::shared_ptr::operator*" ref="ade38de837267becf5eed2839fea42c45" args="()" -->
346<div class="memitem">
347<div class="memproto">
348<div class="memtemplate">
349template&lt;typename T&gt; </div>
350      <table class="memname">
351        <tr>
352          <td class="memname">T&amp; <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::operator* </td>
353          <td>(</td>
354          <td class="paramname"></td>
355          <td>&nbsp;)&nbsp;</td>
356          <td><code> [inline]</code></td>
357        </tr>
358      </table>
359</div>
360<div class="memdoc">
361<p>Returns a reference to the object pointed to by the stored pointer. This method may only be called when the stored pointer isn't NULL. </p>
362
363</div>
364</div>
365<a class="anchor" id="ad89ec7ceb318241d833c7d278444396d"></a><!-- doxytag: member="bdm::shared_ptr::operator&#45;&gt;" ref="ad89ec7ceb318241d833c7d278444396d" args="() const " -->
366<div class="memitem">
367<div class="memproto">
368<div class="memtemplate">
369template&lt;typename T&gt; </div>
370      <table class="memname">
371        <tr>
372          <td class="memname">const T* <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::operator-&gt; </td>
373          <td>(</td>
374          <td class="paramname"></td>
375          <td>&nbsp;)&nbsp;</td>
376          <td> const<code> [inline]</code></td>
377        </tr>
378      </table>
379</div>
380<div class="memdoc">
381<p>Returns the stored pointer (which remains owned by this instance). This method may only be called when the stored pointer isn't NULL. </p>
382
383</div>
384</div>
385<a class="anchor" id="abcaae812868eacbad050beda465d2327"></a><!-- doxytag: member="bdm::shared_ptr::operator&#45;&gt;" ref="abcaae812868eacbad050beda465d2327" args="()" -->
386<div class="memitem">
387<div class="memproto">
388<div class="memtemplate">
389template&lt;typename T&gt; </div>
390      <table class="memname">
391        <tr>
392          <td class="memname">T* <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::operator-&gt; </td>
393          <td>(</td>
394          <td class="paramname"></td>
395          <td>&nbsp;)&nbsp;</td>
396          <td><code> [inline]</code></td>
397        </tr>
398      </table>
399</div>
400<div class="memdoc">
401<p>Dereferences the stored pointer (which remains owned by this instance). This method may only be called when the stored pointer isn't NULL. </p>
402
403</div>
404</div>
405<a class="anchor" id="a8e52b8887a4408c52b5263a5717343f2"></a><!-- doxytag: member="bdm::shared_ptr::use_count" ref="a8e52b8887a4408c52b5263a5717343f2" args="() const " -->
406<div class="memitem">
407<div class="memproto">
408<div class="memtemplate">
409template&lt;typename T&gt; </div>
410      <table class="memname">
411        <tr>
412          <td class="memname">long <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::use_count </td>
413          <td>(</td>
414          <td class="paramname"></td>
415          <td>&nbsp;)&nbsp;</td>
416          <td> const<code> [inline]</code></td>
417        </tr>
418      </table>
419</div>
420<div class="memdoc">
421<p>Returns the number of <a class="el" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr</a> instances (including this instance) that share ownership with this instance. For empty instances, this method returns 0. </p>
422
423</div>
424</div>
425<hr/>The documentation for this class was generated from the following file:<ul>
426<li><a class="el" href="shared__ptr_8h_source.html">shared_ptr.h</a></li>
427</ul>
428</div>
429<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Oct 12 19:37:21 2009 for mixpp by&nbsp;
430<a href="http://www.doxygen.org/index.html">
431<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
432</body>
433</html>
Note: See TracBrowser for help on using the browser.