| 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::object_ptr< T > 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 | <!-- | 
|---|
| 13 | function 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 | } | 
|---|
| 25 | function 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 | } | 
|---|
| 49 | window.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 Page</span></a></li> | 
|---|
| 56 |       <li><a href="pages.html"><span>Related 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 List</span></a></li> | 
|---|
| 64 |       <li><a href="classes.html"><span>Class Index</span></a></li> | 
|---|
| 65 |       <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> | 
|---|
| 66 |       <li><a href="functions.html"><span>Class Members</span></a></li> | 
|---|
| 67 |     </ul> | 
|---|
| 68 |   </div> | 
|---|
| 69 |   <div class="navpath"><b>bdm</b>::<a class="el" href="classbdm_1_1object__ptr.html">object_ptr</a> | 
|---|
| 70 |   </div> | 
|---|
| 71 | </div> | 
|---|
| 72 | <div class="contents"> | 
|---|
| 73 | <h1>bdm::object_ptr< T > Class Template Reference</h1><!-- doxytag: class="bdm::object_ptr" --><!-- doxytag: inherits="bdm::shared_ptr" --> | 
|---|
| 74 | <p>A wrapper 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> which is never empty.   | 
|---|
| 75 | <a href="#_details">More...</a></p> | 
|---|
| 76 |  | 
|---|
| 77 | <p><code>#include <<a class="el" href="shared__ptr_8h_source.html">shared_ptr.h</a>></code></p> | 
|---|
| 78 |  | 
|---|
| 79 | <p><a href="classbdm_1_1object__ptr-members.html">List of all members.</a></p> | 
|---|
| 80 | <table border="0" cellpadding="0" cellspacing="0"> | 
|---|
| 81 | <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> | 
|---|
| 82 | <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1object__ptr.html#a9f1016ff2bbfa497d1cc0a4497c1fba4">object_ptr</a> ()</td></tr> | 
|---|
| 83 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor.  <a href="#a9f1016ff2bbfa497d1cc0a4497c1fba4"></a><br/></td></tr> | 
|---|
| 84 | <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1object__ptr.html#adcb20017177c98274c16087b2c0067dc">object_ptr</a> (const <a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>< T > &b)</td></tr> | 
|---|
| 85 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Upcast from shared_ptr<T> to object_ptr<T>.  <a href="#adcb20017177c98274c16087b2c0067dc"></a><br/></td></tr> | 
|---|
| 86 | <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1object__ptr.html#aa9eb00600d8640711eadeed98c7892e9">object_ptr</a> (T *p)</td></tr> | 
|---|
| 87 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c80da05b7b3dfc59333ca9bf6f62970"></a><!-- doxytag: member="bdm::object_ptr::operator=" ref="a9c80da05b7b3dfc59333ca9bf6f62970" args="(const object_ptr< T > &other)" --> | 
|---|
| 88 | <a class="el" href="classbdm_1_1object__ptr.html">object_ptr</a>< T > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1object__ptr.html#a9c80da05b7b3dfc59333ca9bf6f62970">operator=</a> (const <a class="el" href="classbdm_1_1object__ptr.html">object_ptr</a>< T > &other)</td></tr> | 
|---|
| 89 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator. <br/></td></tr> | 
|---|
| 90 | <tr><td class="memItemLeft" align="right" valign="top">T * </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#a37ebcfb6750dd7b5630f1d2354c07a96">get</a> ()</td></tr> | 
|---|
| 91 | <tr><td class="memItemLeft" align="right" valign="top">const T * </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#afff45e4841b2921cd42ce0691f8c1196">get</a> () const </td></tr> | 
|---|
| 92 | <tr><td class="memItemLeft" align="right" valign="top">T * </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#abcaae812868eacbad050beda465d2327">operator-></a> ()</td></tr> | 
|---|
| 93 | <tr><td class="memItemLeft" align="right" valign="top">const T * </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#ad89ec7ceb318241d833c7d278444396d">operator-></a> () const </td></tr> | 
|---|
| 94 | <tr><td class="memItemLeft" align="right" valign="top">T & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#ade38de837267becf5eed2839fea42c45">operator*</a> ()</td></tr> | 
|---|
| 95 | <tr><td class="memItemLeft" align="right" valign="top">const T & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#ade000a72fe73804aa26962432f264800">operator*</a> () const </td></tr> | 
|---|
| 96 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a338dbc6aa9fd95175abdc2df3ae2c284"></a><!-- doxytag: member="bdm::object_ptr::unique" ref="a338dbc6aa9fd95175abdc2df3ae2c284" args="() const " --> | 
|---|
| 97 | bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#a338dbc6aa9fd95175abdc2df3ae2c284">unique</a> () const </td></tr> | 
|---|
| 98 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns <a class="el" href="classbdm_1_1shared__ptr.html#a8e52b8887a4408c52b5263a5717343f2">use_count()</a> == 1. <br/></td></tr> | 
|---|
| 99 | <tr><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#a8e52b8887a4408c52b5263a5717343f2">use_count</a> () const </td></tr> | 
|---|
| 100 | <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#a6cac71bb600f9f7c6fbed9335fd22d37">operator bool</a> () const </td></tr> | 
|---|
| 101 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Boolean cast.  <a href="#a6cac71bb600f9f7c6fbed9335fd22d37"></a><br/></td></tr> | 
|---|
| 102 | <tr><td class="memTemplParams" colspan="2">template<typename U > </td></tr> | 
|---|
| 103 | <tr><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classbdm_1_1shared__ptr.html#ab3cd369b00369ab92456aa0645e8d560">operator shared_ptr< const U ></a> () const </td></tr> | 
|---|
| 104 | <tr><td class="mdescLeft"> </td><td class="mdescRight">const cast  <a href="#ab3cd369b00369ab92456aa0645e8d560"></a><br/></td></tr> | 
|---|
| 105 | <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afca7fd588f8de50e7590357305b00984"></a><!-- doxytag: member="bdm::object_ptr::swap" ref="afca7fd588f8de50e7590357305b00984" args="(shared_ptr &other)" --> | 
|---|
| 106 | void </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> &other)</td></tr> | 
|---|
| 107 | <tr><td class="mdescLeft"> </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> | 
|---|
| 108 | </table> | 
|---|
| 109 | <hr/><a name="_details"></a><h2>Detailed Description</h2> | 
|---|
| 110 | <h3>template<typename T><br/> | 
|---|
| 111 |  class bdm::object_ptr< T ></h3> | 
|---|
| 112 |  | 
|---|
| 113 | <p>A wrapper 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> which is never empty. </p> | 
|---|
| 114 | <p>T must have a default constructor.</p> | 
|---|
| 115 | <p>Note that shared_ptr's destructor isn't virtual - don't call delete on pointers to instances of this class. </p> | 
|---|
| 116 | <hr/><h2>Constructor & Destructor Documentation</h2> | 
|---|
| 117 | <a class="anchor" id="a9f1016ff2bbfa497d1cc0a4497c1fba4"></a><!-- doxytag: member="bdm::object_ptr::object_ptr" ref="a9f1016ff2bbfa497d1cc0a4497c1fba4" args="()" --> | 
|---|
| 118 | <div class="memitem"> | 
|---|
| 119 | <div class="memproto"> | 
|---|
| 120 | <div class="memtemplate"> | 
|---|
| 121 | template<typename T> </div> | 
|---|
| 122 |       <table class="memname"> | 
|---|
| 123 |         <tr> | 
|---|
| 124 |           <td class="memname"><a class="el" href="classbdm_1_1object__ptr.html">bdm::object_ptr</a>< T >::<a class="el" href="classbdm_1_1object__ptr.html">object_ptr</a> </td> | 
|---|
| 125 |           <td>(</td> | 
|---|
| 126 |           <td class="paramname"></td> | 
|---|
| 127 |           <td> ) </td> | 
|---|
| 128 |           <td><code> [inline]</code></td> | 
|---|
| 129 |         </tr> | 
|---|
| 130 |       </table> | 
|---|
| 131 | </div> | 
|---|
| 132 | <div class="memdoc"> | 
|---|
| 133 |  | 
|---|
| 134 | <p>Default constructor. </p> | 
|---|
| 135 | <p>Calls T's default constructor. </p> | 
|---|
| 136 |  | 
|---|
| 137 | </div> | 
|---|
| 138 | </div> | 
|---|
| 139 | <a class="anchor" id="adcb20017177c98274c16087b2c0067dc"></a><!-- doxytag: member="bdm::object_ptr::object_ptr" ref="adcb20017177c98274c16087b2c0067dc" args="(const shared_ptr< T > &b)" --> | 
|---|
| 140 | <div class="memitem"> | 
|---|
| 141 | <div class="memproto"> | 
|---|
| 142 | <div class="memtemplate"> | 
|---|
| 143 | template<typename T> </div> | 
|---|
| 144 |       <table class="memname"> | 
|---|
| 145 |         <tr> | 
|---|
| 146 |           <td class="memname"><a class="el" href="classbdm_1_1object__ptr.html">bdm::object_ptr</a>< T >::<a class="el" href="classbdm_1_1object__ptr.html">object_ptr</a> </td> | 
|---|
| 147 |           <td>(</td> | 
|---|
| 148 |           <td class="paramtype">const <a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>< T > & </td> | 
|---|
| 149 |           <td class="paramname"> <em>b</em></td> | 
|---|
| 150 |           <td> ) </td> | 
|---|
| 151 |           <td><code> [inline]</code></td> | 
|---|
| 152 |         </tr> | 
|---|
| 153 |       </table> | 
|---|
| 154 | </div> | 
|---|
| 155 | <div class="memdoc"> | 
|---|
| 156 |  | 
|---|
| 157 | <p>Upcast from shared_ptr<T> to object_ptr<T>. </p> | 
|---|
| 158 | <dl><dt><b>Parameters:</b></dt><dd> | 
|---|
| 159 |   <table border="0" cellspacing="2" cellpadding="0"> | 
|---|
| 160 |     <tr><td valign="top"></td><td valign="top"><em>b</em> </td><td>The shared pointer, which must not be empty. </td></tr> | 
|---|
| 161 |   </table> | 
|---|
| 162 |   </dd> | 
|---|
| 163 | </dl> | 
|---|
| 164 |  | 
|---|
| 165 | <p>References <a class="el" href="bdmerror_8h_source.html#l00047">bdm_assert_debug</a>.</p> | 
|---|
| 166 |  | 
|---|
| 167 | </div> | 
|---|
| 168 | </div> | 
|---|
| 169 | <a class="anchor" id="aa9eb00600d8640711eadeed98c7892e9"></a><!-- doxytag: member="bdm::object_ptr::object_ptr" ref="aa9eb00600d8640711eadeed98c7892e9" args="(T *p)" --> | 
|---|
| 170 | <div class="memitem"> | 
|---|
| 171 | <div class="memproto"> | 
|---|
| 172 | <div class="memtemplate"> | 
|---|
| 173 | template<typename T> </div> | 
|---|
| 174 |       <table class="memname"> | 
|---|
| 175 |         <tr> | 
|---|
| 176 |           <td class="memname"><a class="el" href="classbdm_1_1object__ptr.html">bdm::object_ptr</a>< T >::<a class="el" href="classbdm_1_1object__ptr.html">object_ptr</a> </td> | 
|---|
| 177 |           <td>(</td> | 
|---|
| 178 |           <td class="paramtype">T * </td> | 
|---|
| 179 |           <td class="paramname"> <em>p</em></td> | 
|---|
| 180 |           <td> ) </td> | 
|---|
| 181 |           <td><code> [inline]</code></td> | 
|---|
| 182 |         </tr> | 
|---|
| 183 |       </table> | 
|---|
| 184 | </div> | 
|---|
| 185 | <div class="memdoc"> | 
|---|
| 186 | <p>Constructs an <a class="el" href="classbdm_1_1object__ptr.html" title="A wrapper of shared_ptr which is never empty.">object_ptr</a> that owns the pointer p. p must have been alllocated by new! </p> | 
|---|
| 187 |  | 
|---|
| 188 | <p>References <a class="el" href="bdmerror_8h_source.html#l00047">bdm_assert_debug</a>.</p> | 
|---|
| 189 |  | 
|---|
| 190 | </div> | 
|---|
| 191 | </div> | 
|---|
| 192 | <hr/><h2>Member Function Documentation</h2> | 
|---|
| 193 | <a class="anchor" id="afff45e4841b2921cd42ce0691f8c1196"></a><!-- doxytag: member="bdm::object_ptr::get" ref="afff45e4841b2921cd42ce0691f8c1196" args="() const " --> | 
|---|
| 194 | <div class="memitem"> | 
|---|
| 195 | <div class="memproto"> | 
|---|
| 196 | <div class="memtemplate"> | 
|---|
| 197 | template<typename T> </div> | 
|---|
| 198 |       <table class="memname"> | 
|---|
| 199 |         <tr> | 
|---|
| 200 |           <td class="memname">const T* <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>< T >::get </td> | 
|---|
| 201 |           <td>(</td> | 
|---|
| 202 |           <td class="paramname"></td> | 
|---|
| 203 |           <td> ) </td> | 
|---|
| 204 |           <td> const<code> [inline, inherited]</code></td> | 
|---|
| 205 |         </tr> | 
|---|
| 206 |       </table> | 
|---|
| 207 | </div> | 
|---|
| 208 | <div class="memdoc"> | 
|---|
| 209 | <p>Returns the stored pointer (which remains owned by this instance). For empty instances, this method returns NULL. </p> | 
|---|
| 210 |  | 
|---|
| 211 | </div> | 
|---|
| 212 | </div> | 
|---|
| 213 | <a class="anchor" id="a37ebcfb6750dd7b5630f1d2354c07a96"></a><!-- doxytag: member="bdm::object_ptr::get" ref="a37ebcfb6750dd7b5630f1d2354c07a96" args="()" --> | 
|---|
| 214 | <div class="memitem"> | 
|---|
| 215 | <div class="memproto"> | 
|---|
| 216 | <div class="memtemplate"> | 
|---|
| 217 | template<typename T> </div> | 
|---|
| 218 |       <table class="memname"> | 
|---|
| 219 |         <tr> | 
|---|
| 220 |           <td class="memname">T* <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>< T >::get </td> | 
|---|
| 221 |           <td>(</td> | 
|---|
| 222 |           <td class="paramname"></td> | 
|---|
| 223 |           <td> ) </td> | 
|---|
| 224 |           <td><code> [inline, inherited]</code></td> | 
|---|
| 225 |         </tr> | 
|---|
| 226 |       </table> | 
|---|
| 227 | </div> | 
|---|
| 228 | <div class="memdoc"> | 
|---|
| 229 | <p>Returns the stored pointer (which remains owned by this instance). For empty instances, this method returns NULL. </p> | 
|---|
| 230 |  | 
|---|
| 231 | <p>Referenced by <a class="el" href="bdmbase_8cpp_source.html#l00345">bdm::mepdf::from_setting()</a>, <a class="el" href="bdmbase_8h_source.html#l00719">bdm::mepdf::mepdf()</a>, and <a class="el" href="kalman_8h_source.html#l00120">bdm::Kalman< fsqmat >::posterior()</a>.</p> | 
|---|
| 232 |  | 
|---|
| 233 | </div> | 
|---|
| 234 | </div> | 
|---|
| 235 | <a class="anchor" id="a6cac71bb600f9f7c6fbed9335fd22d37"></a><!-- doxytag: member="bdm::object_ptr::operator bool" ref="a6cac71bb600f9f7c6fbed9335fd22d37" args="() const " --> | 
|---|
| 236 | <div class="memitem"> | 
|---|
| 237 | <div class="memproto"> | 
|---|
| 238 | <div class="memtemplate"> | 
|---|
| 239 | template<typename T> </div> | 
|---|
| 240 |       <table class="memname"> | 
|---|
| 241 |         <tr> | 
|---|
| 242 |           <td class="memname"><a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>< T >::operator bool </td> | 
|---|
| 243 |           <td>(</td> | 
|---|
| 244 |           <td class="paramname"></td> | 
|---|
| 245 |           <td> ) </td> | 
|---|
| 246 |           <td> const<code> [inline, inherited]</code></td> | 
|---|
| 247 |         </tr> | 
|---|
| 248 |       </table> | 
|---|
| 249 | </div> | 
|---|
| 250 | <div class="memdoc"> | 
|---|
| 251 |  | 
|---|
| 252 | <p>Boolean cast. </p> | 
|---|
| 253 | <p>This operator returns true if and only if the instance isn't empty. </p> | 
|---|
| 254 |  | 
|---|
| 255 | </div> | 
|---|
| 256 | </div> | 
|---|
| 257 | <a class="anchor" id="ab3cd369b00369ab92456aa0645e8d560"></a><!-- doxytag: member="bdm::object_ptr::operator shared_ptr< const U >" ref="ab3cd369b00369ab92456aa0645e8d560" args="() const " --> | 
|---|
| 258 | <div class="memitem"> | 
|---|
| 259 | <div class="memproto"> | 
|---|
| 260 | <div class="memtemplate"> | 
|---|
| 261 | template<typename T> </div> | 
|---|
| 262 | <div class="memtemplate"> | 
|---|
| 263 | template<typename U > </div> | 
|---|
| 264 |       <table class="memname"> | 
|---|
| 265 |         <tr> | 
|---|
| 266 |           <td class="memname"><a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>< T >::operator <a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>< const U > </td> | 
|---|
| 267 |           <td>(</td> | 
|---|
| 268 |           <td class="paramname"></td> | 
|---|
| 269 |           <td> ) </td> | 
|---|
| 270 |           <td> const<code> [inline, inherited]</code></td> | 
|---|
| 271 |         </tr> | 
|---|
| 272 |       </table> | 
|---|
| 273 | </div> | 
|---|
| 274 | <div class="memdoc"> | 
|---|
| 275 |  | 
|---|
| 276 | <p>const cast </p> | 
|---|
| 277 | <p>Shared pointer to T can be converted to shared pointer to const T, just like T * can be converted to T const *. </p> | 
|---|
| 278 |  | 
|---|
| 279 | </div> | 
|---|
| 280 | </div> | 
|---|
| 281 | <a class="anchor" id="ade000a72fe73804aa26962432f264800"></a><!-- doxytag: member="bdm::object_ptr::operator*" ref="ade000a72fe73804aa26962432f264800" args="() const " --> | 
|---|
| 282 | <div class="memitem"> | 
|---|
| 283 | <div class="memproto"> | 
|---|
| 284 | <div class="memtemplate"> | 
|---|
| 285 | template<typename T> </div> | 
|---|
| 286 |       <table class="memname"> | 
|---|
| 287 |         <tr> | 
|---|
| 288 |           <td class="memname">const T& <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>< T >::operator* </td> | 
|---|
| 289 |           <td>(</td> | 
|---|
| 290 |           <td class="paramname"></td> | 
|---|
| 291 |           <td> ) </td> | 
|---|
| 292 |           <td> const<code> [inline, inherited]</code></td> | 
|---|
| 293 |         </tr> | 
|---|
| 294 |       </table> | 
|---|
| 295 | </div> | 
|---|
| 296 | <div class="memdoc"> | 
|---|
| 297 | <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> | 
|---|
| 298 |  | 
|---|
| 299 | </div> | 
|---|
| 300 | </div> | 
|---|
| 301 | <a class="anchor" id="ade38de837267becf5eed2839fea42c45"></a><!-- doxytag: member="bdm::object_ptr::operator*" ref="ade38de837267becf5eed2839fea42c45" args="()" --> | 
|---|
| 302 | <div class="memitem"> | 
|---|
| 303 | <div class="memproto"> | 
|---|
| 304 | <div class="memtemplate"> | 
|---|
| 305 | template<typename T> </div> | 
|---|
| 306 |       <table class="memname"> | 
|---|
| 307 |         <tr> | 
|---|
| 308 |           <td class="memname">T& <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>< T >::operator* </td> | 
|---|
| 309 |           <td>(</td> | 
|---|
| 310 |           <td class="paramname"></td> | 
|---|
| 311 |           <td> ) </td> | 
|---|
| 312 |           <td><code> [inline, inherited]</code></td> | 
|---|
| 313 |         </tr> | 
|---|
| 314 |       </table> | 
|---|
| 315 | </div> | 
|---|
| 316 | <div class="memdoc"> | 
|---|
| 317 | <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> | 
|---|
| 318 |  | 
|---|
| 319 | </div> | 
|---|
| 320 | </div> | 
|---|
| 321 | <a class="anchor" id="ad89ec7ceb318241d833c7d278444396d"></a><!-- doxytag: member="bdm::object_ptr::operator->" ref="ad89ec7ceb318241d833c7d278444396d" args="() const " --> | 
|---|
| 322 | <div class="memitem"> | 
|---|
| 323 | <div class="memproto"> | 
|---|
| 324 | <div class="memtemplate"> | 
|---|
| 325 | template<typename T> </div> | 
|---|
| 326 |       <table class="memname"> | 
|---|
| 327 |         <tr> | 
|---|
| 328 |           <td class="memname">const T* <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>< T >::operator-> </td> | 
|---|
| 329 |           <td>(</td> | 
|---|
| 330 |           <td class="paramname"></td> | 
|---|
| 331 |           <td> ) </td> | 
|---|
| 332 |           <td> const<code> [inline, inherited]</code></td> | 
|---|
| 333 |         </tr> | 
|---|
| 334 |       </table> | 
|---|
| 335 | </div> | 
|---|
| 336 | <div class="memdoc"> | 
|---|
| 337 | <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> | 
|---|
| 338 |  | 
|---|
| 339 | </div> | 
|---|
| 340 | </div> | 
|---|
| 341 | <a class="anchor" id="abcaae812868eacbad050beda465d2327"></a><!-- doxytag: member="bdm::object_ptr::operator->" ref="abcaae812868eacbad050beda465d2327" args="()" --> | 
|---|
| 342 | <div class="memitem"> | 
|---|
| 343 | <div class="memproto"> | 
|---|
| 344 | <div class="memtemplate"> | 
|---|
| 345 | template<typename T> </div> | 
|---|
| 346 |       <table class="memname"> | 
|---|
| 347 |         <tr> | 
|---|
| 348 |           <td class="memname">T* <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>< T >::operator-> </td> | 
|---|
| 349 |           <td>(</td> | 
|---|
| 350 |           <td class="paramname"></td> | 
|---|
| 351 |           <td> ) </td> | 
|---|
| 352 |           <td><code> [inline, inherited]</code></td> | 
|---|
| 353 |         </tr> | 
|---|
| 354 |       </table> | 
|---|
| 355 | </div> | 
|---|
| 356 | <div class="memdoc"> | 
|---|
| 357 | <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> | 
|---|
| 358 |  | 
|---|
| 359 | </div> | 
|---|
| 360 | </div> | 
|---|
| 361 | <a class="anchor" id="a8e52b8887a4408c52b5263a5717343f2"></a><!-- doxytag: member="bdm::object_ptr::use_count" ref="a8e52b8887a4408c52b5263a5717343f2" args="() const " --> | 
|---|
| 362 | <div class="memitem"> | 
|---|
| 363 | <div class="memproto"> | 
|---|
| 364 | <div class="memtemplate"> | 
|---|
| 365 | template<typename T> </div> | 
|---|
| 366 |       <table class="memname"> | 
|---|
| 367 |         <tr> | 
|---|
| 368 |           <td class="memname">long <a class="el" href="classbdm_1_1shared__ptr.html">bdm::shared_ptr</a>< T >::use_count </td> | 
|---|
| 369 |           <td>(</td> | 
|---|
| 370 |           <td class="paramname"></td> | 
|---|
| 371 |           <td> ) </td> | 
|---|
| 372 |           <td> const<code> [inline, inherited]</code></td> | 
|---|
| 373 |         </tr> | 
|---|
| 374 |       </table> | 
|---|
| 375 | </div> | 
|---|
| 376 | <div class="memdoc"> | 
|---|
| 377 | <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> | 
|---|
| 378 |  | 
|---|
| 379 | </div> | 
|---|
| 380 | </div> | 
|---|
| 381 | <hr/>The documentation for this class was generated from the following file:<ul> | 
|---|
| 382 | <li><a class="el" href="shared__ptr_8h_source.html">shared_ptr.h</a></li> | 
|---|
| 383 | </ul> | 
|---|
| 384 | </div> | 
|---|
| 385 | <hr size="1"/><address style="text-align: right;"><small>Generated on Sun Aug 30 22:10:50 2009 for mixpp by  | 
|---|
| 386 | <a href="http://www.doxygen.org/index.html"> | 
|---|
| 387 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> | 
|---|
| 388 | </body> | 
|---|
| 389 | </html> | 
|---|