Show
Ignore:
Timestamp:
10/12/09 13:49:39 (15 years ago)
Author:
mido
Message:

\doc directory cleaned a bit

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/doc/html/classbdm_1_1shared__ptr.html

    r641 r651  
    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"/> 
     1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
     2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 
    53<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 --> 
     4<link href="tabs.css" rel="stylesheet" type="text/css"> 
     5<link href="doxygen.css" rel="stylesheet" type="text/css"> 
     6</head><body> 
     7<!-- Generated by Doxygen 1.5.9 --> 
    118<script type="text/javascript"> 
    129<!-- 
     
    7168</div> 
    7269<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/> 
     70<h1>bdm::shared_ptr&lt; T &gt; Class Template Reference</h1><!-- doxytag: class="bdm::shared_ptr" -->A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.   
     71<a href="#_details">More...</a> 
     72<p> 
     73<code>#include &lt;<a class="el" href="shared__ptr_8h_source.html">shared_ptr.h</a>&gt;</code> 
     74<p> 
     75 
     76<p> 
     77<a href="classbdm_1_1shared__ptr-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> 
     78<tr><td></td></tr> 
     79<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> 
     80<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#66a4d41031e37618f1a9bb3c81814c11">shared_ptr</a> ()</td></tr> 
     81 
     82<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#66a4d41031e37618f1a9bb3c81814c11"></a><br></td></tr> 
     83<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#c8b7f0a813173581530c80d7ac4fc7c2">shared_ptr</a> (T *p)</td></tr> 
     84 
     85<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#357702d12bfd608a08b46e4a194aa4b5">shared_ptr</a> (const <a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>&lt; T &gt; &amp;other)</td></tr> 
     86 
     87<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor.  <a href="#357702d12bfd608a08b46e4a194aa4b5"></a><br></td></tr> 
     88<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename U &gt; </td></tr> 
     89<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#affa5b17385493f4102c52cf75d3b509">shared_ptr</a> (const <a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>&lt; U &gt; &amp;other)</td></tr> 
     90 
     91<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generalized copy.  <a href="#affa5b17385493f4102c52cf75d3b509"></a><br></td></tr> 
     92<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#79374842e417d2f64e449e374be4cfc1">~shared_ptr</a> ()</td></tr> 
     93 
     94<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="55263b1c8efbd3f8fddf703e2c457f6c"></a><!-- doxytag: member="bdm::shared_ptr::operator=" ref="55263b1c8efbd3f8fddf703e2c457f6c" args="(const shared_ptr&lt; T &gt; &amp;other)" --> 
     95<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#55263b1c8efbd3f8fddf703e2c457f6c">operator=</a> (const <a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>&lt; T &gt; &amp;other)</td></tr> 
     96 
     97<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator. <br></td></tr> 
     98<tr><td class="memItemLeft" nowrap align="right" valign="top">T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#37ebcfb6750dd7b5630f1d2354c07a96">get</a> ()</td></tr> 
     99 
     100<tr><td class="memItemLeft" nowrap align="right" valign="top">T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#bcaae812868eacbad050beda465d2327">operator-&gt;</a> ()</td></tr> 
     101 
     102<tr><td class="memItemLeft" nowrap align="right" valign="top">T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#de38de837267becf5eed2839fea42c45">operator*</a> ()</td></tr> 
     103 
     104<tr><td class="memItemLeft" nowrap align="right" valign="top">const T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#fff45e4841b2921cd42ce0691f8c1196">get</a> () const </td></tr> 
     105 
     106<tr><td class="memItemLeft" nowrap align="right" valign="top">const T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#d89ec7ceb318241d833c7d278444396d">operator-&gt;</a> () const </td></tr> 
     107 
     108<tr><td class="memItemLeft" nowrap align="right" valign="top">const T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#de000a72fe73804aa26962432f264800">operator*</a> () const </td></tr> 
     109 
     110<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="338dbc6aa9fd95175abdc2df3ae2c284"></a><!-- doxytag: member="bdm::shared_ptr::unique" ref="338dbc6aa9fd95175abdc2df3ae2c284" args="() const " --> 
     111bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#338dbc6aa9fd95175abdc2df3ae2c284">unique</a> () const </td></tr> 
     112 
     113<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns <a class="el" href="classbdm_1_1shared__ptr.html#8e52b8887a4408c52b5263a5717343f2">use_count()</a> == 1. <br></td></tr> 
     114<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#8e52b8887a4408c52b5263a5717343f2">use_count</a> () const </td></tr> 
     115 
     116<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#6cac71bb600f9f7c6fbed9335fd22d37">operator bool</a> () const </td></tr> 
     117 
     118<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Boolean cast.  <a href="#6cac71bb600f9f7c6fbed9335fd22d37"></a><br></td></tr> 
     119<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename U &gt; </td></tr> 
     120<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#b3cd369b00369ab92456aa0645e8d560">operator shared_ptr&lt; const U &gt;</a> () const </td></tr> 
     121 
     122<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">const cast  <a href="#b3cd369b00369ab92456aa0645e8d560"></a><br></td></tr> 
     123<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fca7fd588f8de50e7590357305b00984"></a><!-- doxytag: member="bdm::shared_ptr::swap" ref="fca7fd588f8de50e7590357305b00984" args="(shared_ptr &amp;other)" --> 
     124void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#fca7fd588f8de50e7590357305b00984">swap</a> (<a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a> &amp;other)</td></tr> 
     125 
     126<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> 
     127<tr><td colspan="2"><br><h2>Friends</h2></td></tr> 
     128<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9a4da829475f0cf1809fc6ef555ffe06"></a><!-- doxytag: member="bdm::shared_ptr::shared_ptr" ref="9a4da829475f0cf1809fc6ef555ffe06" args="" --> 
     129class&nbsp;</td><td class="memItemRight" valign="bottom"><b>shared_ptr</b></td></tr> 
     130 
     131</table> 
     132<hr><a name="_details"></a><h2>Detailed Description</h2> 
     133<h3>template&lt;typename T&gt;<br> 
    78134 class bdm::shared_ptr&lt; T &gt;</h3> 
    79135 
    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 " --> 
    108 bool&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)" --> 
    117 void&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="" --> 
    121 class&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"> 
    128 template&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"> 
    150 template&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> 
     136A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.  
     137<p> 
     138Really just roughly - it ignores memory exceptions, for example; also note I didn't read the spec.<p> 
     139The 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... <hr><h2>Constructor &amp; Destructor Documentation</h2> 
     140<a class="anchor" name="66a4d41031e37618f1a9bb3c81814c11"></a><!-- doxytag: member="bdm::shared_ptr::shared_ptr" ref="66a4d41031e37618f1a9bb3c81814c11" args="()" --> 
     141<div class="memitem"> 
     142<div class="memproto"> 
     143<div class="memtemplate"> 
     144template&lt;typename T&gt; </div> 
     145      <table class="memname"> 
     146        <tr> 
     147          <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> 
     148          <td>(</td> 
     149          <td class="paramname">          </td> 
     150          <td>&nbsp;)&nbsp;</td> 
     151          <td><code> [inline]</code></td> 
     152        </tr> 
     153      </table> 
     154</div> 
     155<div class="memdoc"> 
     156 
     157<p> 
     158Default constructor.  
     159<p> 
     160Creates 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.  
     161</div> 
     162</div><p> 
     163<a class="anchor" name="c8b7f0a813173581530c80d7ac4fc7c2"></a><!-- doxytag: member="bdm::shared_ptr::shared_ptr" ref="c8b7f0a813173581530c80d7ac4fc7c2" args="(T *p)" --> 
     164<div class="memitem"> 
     165<div class="memproto"> 
     166<div class="memtemplate"> 
     167template&lt;typename T&gt; </div> 
     168      <table class="memname"> 
     169        <tr> 
     170          <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> 
    154171          <td>(</td> 
    155172          <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"> 
    171 template&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> 
     173          <td class="paramname"> <em>p</em>          </td> 
     174          <td>&nbsp;)&nbsp;</td> 
     175          <td><code> [inline]</code></td> 
     176        </tr> 
     177      </table> 
     178</div> 
     179<div class="memdoc"> 
     180 
     181<p> 
     182Constructs 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!  
     183</div> 
     184</div><p> 
     185<a class="anchor" name="357702d12bfd608a08b46e4a194aa4b5"></a><!-- doxytag: member="bdm::shared_ptr::shared_ptr" ref="357702d12bfd608a08b46e4a194aa4b5" args="(const shared_ptr&lt; T &gt; &amp;other)" --> 
     186<div class="memitem"> 
     187<div class="memproto"> 
     188<div class="memtemplate"> 
     189template&lt;typename T&gt; </div> 
     190      <table class="memname"> 
     191        <tr> 
     192          <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> 
    175193          <td>(</td> 
    176194          <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)" --> 
     195          <td class="paramname"> <em>other</em>          </td> 
     196          <td>&nbsp;)&nbsp;</td> 
     197          <td><code> [inline]</code></td> 
     198        </tr> 
     199      </table> 
     200</div> 
     201<div class="memdoc"> 
     202 
     203<p> 
     204Copy constructor.  
     205<p> 
     206If 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.  
     207</div> 
     208</div><p> 
     209<a class="anchor" name="affa5b17385493f4102c52cf75d3b509"></a><!-- doxytag: member="bdm::shared_ptr::shared_ptr" ref="affa5b17385493f4102c52cf75d3b509" args="(const shared_ptr&lt; U &gt; &amp;other)" --> 
    191210<div class="memitem"> 
    192211<div class="memproto"> 
     
    197216      <table class="memname"> 
    198217        <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> 
     218          <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> 
    200219          <td>(</td> 
    201220          <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"> 
    220 template&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"> 
    241 template&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"> 
    261 template&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  
     221          <td class="paramname"> <em>other</em>          </td> 
     222          <td>&nbsp;)&nbsp;</td> 
     223          <td><code> [inline]</code></td> 
     224        </tr> 
     225      </table> 
     226</div> 
     227<div class="memdoc"> 
     228 
     229<p> 
     230Generalized copy.  
     231<p> 
     232Allows initialization of shared pointer of a base type from raw pointer to a derived type.<p> 
     233If 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.  
     234</div> 
     235</div><p> 
     236<a class="anchor" name="79374842e417d2f64e449e374be4cfc1"></a><!-- doxytag: member="bdm::shared_ptr::~shared_ptr" ref="79374842e417d2f64e449e374be4cfc1" args="()" --> 
     237<div class="memitem"> 
     238<div class="memproto"> 
     239<div class="memtemplate"> 
     240template&lt;typename T&gt; </div> 
     241      <table class="memname"> 
     242        <tr> 
     243          <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> 
     244          <td>(</td> 
     245          <td class="paramname">          </td> 
     246          <td>&nbsp;)&nbsp;</td> 
     247          <td><code> [inline]</code></td> 
     248        </tr> 
     249      </table> 
     250</div> 
     251<div class="memdoc"> 
     252 
     253<p> 
     254Destructor.  
     255</div> 
     256</div><p> 
     257<hr><h2>Member Function Documentation</h2> 
     258<a class="anchor" name="fff45e4841b2921cd42ce0691f8c1196"></a><!-- doxytag: member="bdm::shared_ptr::get" ref="fff45e4841b2921cd42ce0691f8c1196" args="() const " --> 
     259<div class="memitem"> 
     260<div class="memproto"> 
     261<div class="memtemplate"> 
     262template&lt;typename T&gt; </div> 
     263      <table class="memname"> 
     264        <tr> 
     265          <td class="memname">const T* <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::get           </td> 
     266          <td>(</td> 
     267          <td class="paramname">          </td> 
     268          <td>&nbsp;)&nbsp;</td> 
     269          <td> const<code> [inline]</code></td> 
     270        </tr> 
     271      </table> 
     272</div> 
     273<div class="memdoc"> 
     274 
     275<p> 
     276Returns the stored pointer (which remains owned by this instance). For empty instances, this method returns NULL.  
     277</div> 
     278</div><p> 
     279<a class="anchor" name="37ebcfb6750dd7b5630f1d2354c07a96"></a><!-- doxytag: member="bdm::shared_ptr::get" ref="37ebcfb6750dd7b5630f1d2354c07a96" args="()" --> 
     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">T* <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::get           </td> 
     287          <td>(</td> 
     288          <td class="paramname">          </td> 
     289          <td>&nbsp;)&nbsp;</td> 
     290          <td><code> [inline]</code></td> 
     291        </tr> 
     292      </table> 
     293</div> 
     294<div class="memdoc"> 
     295 
     296<p> 
     297Returns the stored pointer (which remains owned by this instance). For empty instances, this method returns NULL.  
    275298<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#l00120">bdm::Kalman&lt; fsqmat &gt;::posterior()</a>.</p> 
    276299 
    277300</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"> 
    283 template&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 " --> 
     301</div><p> 
     302<a class="anchor" name="6cac71bb600f9f7c6fbed9335fd22d37"></a><!-- doxytag: member="bdm::shared_ptr::operator bool" ref="6cac71bb600f9f7c6fbed9335fd22d37" args="() const " --> 
     303<div class="memitem"> 
     304<div class="memproto"> 
     305<div class="memtemplate"> 
     306template&lt;typename T&gt; </div> 
     307      <table class="memname"> 
     308        <tr> 
     309          <td class="memname"><a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::operator bool           </td> 
     310          <td>(</td> 
     311          <td class="paramname">          </td> 
     312          <td>&nbsp;)&nbsp;</td> 
     313          <td> const<code> [inline]</code></td> 
     314        </tr> 
     315      </table> 
     316</div> 
     317<div class="memdoc"> 
     318 
     319<p> 
     320Boolean cast.  
     321<p> 
     322This operator returns true if and only if the instance isn't empty.  
     323</div> 
     324</div><p> 
     325<a class="anchor" name="b3cd369b00369ab92456aa0645e8d560"></a><!-- doxytag: member="bdm::shared_ptr::operator shared_ptr&lt; const U &gt;" ref="b3cd369b00369ab92456aa0645e8d560" args="() const " --> 
    302326<div class="memitem"> 
    303327<div class="memproto"> 
     
    308332      <table class="memname"> 
    309333        <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"> 
    329 template&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"> 
    349 template&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"> 
    369 template&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"> 
    389 template&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"> 
    409 template&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 Sun Sep 27 00:49:06 2009 for mixpp by&nbsp; 
     334          <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> 
     335          <td>(</td> 
     336          <td class="paramname">          </td> 
     337          <td>&nbsp;)&nbsp;</td> 
     338          <td> const<code> [inline]</code></td> 
     339        </tr> 
     340      </table> 
     341</div> 
     342<div class="memdoc"> 
     343 
     344<p> 
     345const cast  
     346<p> 
     347Shared pointer to T can be converted to shared pointer to const T, just like T * can be converted to T const *.  
     348</div> 
     349</div><p> 
     350<a class="anchor" name="de000a72fe73804aa26962432f264800"></a><!-- doxytag: member="bdm::shared_ptr::operator*" ref="de000a72fe73804aa26962432f264800" args="() const " --> 
     351<div class="memitem"> 
     352<div class="memproto"> 
     353<div class="memtemplate"> 
     354template&lt;typename T&gt; </div> 
     355      <table class="memname"> 
     356        <tr> 
     357          <td class="memname">const T&amp; <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::operator*           </td> 
     358          <td>(</td> 
     359          <td class="paramname">          </td> 
     360          <td>&nbsp;)&nbsp;</td> 
     361          <td> const<code> [inline]</code></td> 
     362        </tr> 
     363      </table> 
     364</div> 
     365<div class="memdoc"> 
     366 
     367<p> 
     368Returns a reference to the object pointed to by the stored pointer. This method may only be called when the stored pointer isn't NULL.  
     369</div> 
     370</div><p> 
     371<a class="anchor" name="de38de837267becf5eed2839fea42c45"></a><!-- doxytag: member="bdm::shared_ptr::operator*" ref="de38de837267becf5eed2839fea42c45" args="()" --> 
     372<div class="memitem"> 
     373<div class="memproto"> 
     374<div class="memtemplate"> 
     375template&lt;typename T&gt; </div> 
     376      <table class="memname"> 
     377        <tr> 
     378          <td class="memname">T&amp; <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::operator*           </td> 
     379          <td>(</td> 
     380          <td class="paramname">          </td> 
     381          <td>&nbsp;)&nbsp;</td> 
     382          <td><code> [inline]</code></td> 
     383        </tr> 
     384      </table> 
     385</div> 
     386<div class="memdoc"> 
     387 
     388<p> 
     389Returns a reference to the object pointed to by the stored pointer. This method may only be called when the stored pointer isn't NULL.  
     390</div> 
     391</div><p> 
     392<a class="anchor" name="d89ec7ceb318241d833c7d278444396d"></a><!-- doxytag: member="bdm::shared_ptr::operator&#45;&gt;" ref="d89ec7ceb318241d833c7d278444396d" args="() const " --> 
     393<div class="memitem"> 
     394<div class="memproto"> 
     395<div class="memtemplate"> 
     396template&lt;typename T&gt; </div> 
     397      <table class="memname"> 
     398        <tr> 
     399          <td class="memname">const T* <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::operator-&gt;           </td> 
     400          <td>(</td> 
     401          <td class="paramname">          </td> 
     402          <td>&nbsp;)&nbsp;</td> 
     403          <td> const<code> [inline]</code></td> 
     404        </tr> 
     405      </table> 
     406</div> 
     407<div class="memdoc"> 
     408 
     409<p> 
     410Returns the stored pointer (which remains owned by this instance). This method may only be called when the stored pointer isn't NULL.  
     411</div> 
     412</div><p> 
     413<a class="anchor" name="bcaae812868eacbad050beda465d2327"></a><!-- doxytag: member="bdm::shared_ptr::operator&#45;&gt;" ref="bcaae812868eacbad050beda465d2327" args="()" --> 
     414<div class="memitem"> 
     415<div class="memproto"> 
     416<div class="memtemplate"> 
     417template&lt;typename T&gt; </div> 
     418      <table class="memname"> 
     419        <tr> 
     420          <td class="memname">T* <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::operator-&gt;           </td> 
     421          <td>(</td> 
     422          <td class="paramname">          </td> 
     423          <td>&nbsp;)&nbsp;</td> 
     424          <td><code> [inline]</code></td> 
     425        </tr> 
     426      </table> 
     427</div> 
     428<div class="memdoc"> 
     429 
     430<p> 
     431Dereferences the stored pointer (which remains owned by this instance). This method may only be called when the stored pointer isn't NULL.  
     432</div> 
     433</div><p> 
     434<a class="anchor" name="8e52b8887a4408c52b5263a5717343f2"></a><!-- doxytag: member="bdm::shared_ptr::use_count" ref="8e52b8887a4408c52b5263a5717343f2" args="() const " --> 
     435<div class="memitem"> 
     436<div class="memproto"> 
     437<div class="memtemplate"> 
     438template&lt;typename T&gt; </div> 
     439      <table class="memname"> 
     440        <tr> 
     441          <td class="memname">long <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>&lt; T &gt;::use_count           </td> 
     442          <td>(</td> 
     443          <td class="paramname">          </td> 
     444          <td>&nbsp;)&nbsp;</td> 
     445          <td> const<code> [inline]</code></td> 
     446        </tr> 
     447      </table> 
     448</div> 
     449<div class="memdoc"> 
     450 
     451<p> 
     452Returns 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.  
     453</div> 
     454</div><p> 
     455<hr>The documentation for this class was generated from the following file:<ul> 
     456<li><a class="el" href="shared__ptr_8h_source.html">shared_ptr.h</a></ul> 
     457</div> 
     458<hr size="1"><address style="text-align: right;"><small>Generated on Wed Oct 7 17:34:48 2009 for mixpp by&nbsp; 
    430459<a href="http://www.doxygen.org/index.html"> 
    431 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> 
     460<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> 
    432461</body> 
    433462</html>