1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3 <title> TemplateOsclSharedPtr< TheClass > class Reference</title> 4 <link href="doxygen.css" rel="stylesheet" type="text/css"> 5 </head><body> 6 <!-- Generated by Doxygen 1.2.18 --> 7 <center> 8 <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center> 9 <hr><h1>OsclSharedPtr< TheClass > Class Template Reference<br> 10 <small> 11 [<a class="el" href="group__osclbase.html">OSCL Base</a>]</small> 12 </h1>A parameterized smart pointer class. 13 <a href="#_details">More...</a> 14 <p> 15 <code>#include <<a class="el" href="oscl__shared__ptr_8h-source.html">oscl_shared_ptr.h</a>></code> 16 <p> 17 <table border=0 cellpadding=0 cellspacing=0> 18 <tr><td></td></tr> 19 <tr><td colspan=2><br><h2>Public Methods</h2></td></tr> 20 <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classOsclSharedPtr.html#a0">OsclSharedPtr</a> ()</td></tr> 21 <tr><td> </td><td><font size=-1><em>Constructor.</em> <a href="#a0"></a><em></em></font><br><br></td></tr> 22 <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classOsclSharedPtr.html#a1">OsclSharedPtr</a> (TheClass *inClassPtr, <a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *in_refcnt)</td></tr> 23 <tr><td> </td><td><font size=-1><em>Constructor.</em> <a href="#a1"></a><em></em></font><br><br></td></tr> 24 <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classOsclSharedPtr.html#a2">OsclSharedPtr</a> (const OsclSharedPtr &inSharedPtr)</td></tr> 25 <tr><td> </td><td><font size=-1><em>Copy constructor.</em> <a href="#a2"></a><em></em></font><br><br></td></tr> 26 <tr><td nowrap align=right valign=top>virtual </td><td valign=bottom><a class="el" href="classOsclSharedPtr.html#a3">~OsclSharedPtr</a> ()</td></tr> 27 <tr><td> </td><td><font size=-1><em>Destructor.</em> <a href="#a3"></a><em></em></font><br><br></td></tr> 28 <tr><td nowrap align=right valign=top>TheClass * </td><td valign=bottom><a class="el" href="classOsclSharedPtr.html#a4">operator-></a> ()</td></tr> 29 <tr><td nowrap align=right valign=top>TheClass & </td><td valign=bottom><a class="el" href="classOsclSharedPtr.html#a5">operator *</a> ()</td></tr> 30 <tr><td> </td><td><font size=-1><em>The indirection operator returns a reference to an object of the parameterized type.</em> <a href="#a5"></a><em></em></font><br><br></td></tr> 31 <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classOsclSharedPtr.html#a6">operator TheClass *</a> ()</td></tr> 32 <tr><td> </td><td><font size=-1><em>Casting operator.</em> <a href="#a6"></a><em></em></font><br><br></td></tr> 33 <tr><td nowrap align=right valign=top>TheClass * </td><td valign=bottom><a class="el" href="classOsclSharedPtr.html#a7">GetRep</a> ()</td></tr> 34 <tr><td> </td><td><font size=-1><em>Use this function to get a pointer to the wrapped object.</em> <a href="#a7"></a><em></em></font><br><br></td></tr> 35 <tr><td nowrap align=right valign=top><a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> * </td><td valign=bottom><a class="el" href="classOsclSharedPtr.html#a8">GetRefCounter</a> ()</td></tr> 36 <tr><td> </td><td><font size=-1><em>Get the refcount pointer. This should primarily be used for conversion operations.</em> <a href="#a8"></a><em></em></font><br><br></td></tr> 37 <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classOsclSharedPtr.html#a9">get_count</a> ()</td></tr> 38 <tr><td> </td><td><font size=-1><em>Get a count of how many references to the object exist.</em> <a href="#a9"></a><em></em></font><br><br></td></tr> 39 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="group__osclbase.html#a111">Bind</a> (const OsclSharedPtr &inHandle)</td></tr> 40 <tr><td> </td><td><font size=-1><em>Use this function to bind an existing OsclSharedPtr to a already-wrapped object.</em> <a href="group__osclbase.html#a111"></a><em></em></font><br><br></td></tr> 41 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="group__osclbase.html#a112">Bind</a> (TheClass *ptr, <a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *in_refcnt)</td></tr> 42 <tr><td> </td><td><font size=-1><em>Use this function to bind an existing OsclSharedPtr to a new (unwrapped) object.</em> <a href="group__osclbase.html#a112"></a><em></em></font><br><br></td></tr> 43 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclSharedPtr.html#a12">Unbind</a> ()</td></tr> 44 <tr><td> </td><td><font size=-1><em>Use this function of unbind an existing OsclSharedPtr.</em> <a href="#a12"></a><em></em></font><br><br></td></tr> 45 <tr><td nowrap align=right valign=top>OsclSharedPtr & </td><td valign=bottom><a class="el" href="classOsclSharedPtr.html#a13">operator=</a> (const OsclSharedPtr &inSharedPtr)</td></tr> 46 <tr><td> </td><td><font size=-1><em>Assignment operator.</em> <a href="#a13"></a><em></em></font><br><br></td></tr> 47 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="group__osclbase.html#a110">operator==</a> (const OsclSharedPtr &b) const</td></tr> 48 <tr><td> </td><td><font size=-1><em>Test for equality to see if two PVHandles wrap the same object.</em> <a href="group__osclbase.html#a110"></a><em></em></font><br><br></td></tr> 49 </table> 50 <hr><a name="_details"></a><h2>Detailed Description</h2> 51 <h3>template<class TheClass><br> 52 class OsclSharedPtr< TheClass ></h3> 53 54 A parameterized smart pointer class. 55 <p> 56 <hr><h2>Constructor & Destructor Documentation</h2> 57 <a name="a0" doxytag="OsclSharedPtr::OsclSharedPtr"></a><p> 58 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 59 <tr> 60 <td class="md"> 61 <table cellpadding="0" cellspacing="0" border="0"> 62 <tr> 63 <td class="md" colspan="4"> 64 template<class TheClass> </td> 65 </tr> 66 <tr> 67 <td class="md" nowrap valign="top"> OsclSharedPtr< TheClass >::OsclSharedPtr </td> 68 <td class="md" valign="top">( </td> 69 <td class="mdname1" valign="top" nowrap> </td> 70 <td class="md" valign="top">) </td> 71 <td class="md" nowrap><code> [inline]</code></td> 72 </tr> 73 74 </table> 75 </td> 76 </tr> 77 </table> 78 <table cellspacing=5 cellpadding=0 border=0> 79 <tr> 80 <td> 81 82 </td> 83 <td> 84 85 <p> 86 Constructor. 87 <p> 88 </td> 89 </tr> 90 </table> 91 <a name="a1" doxytag="OsclSharedPtr::OsclSharedPtr"></a><p> 92 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 93 <tr> 94 <td class="md"> 95 <table cellpadding="0" cellspacing="0" border="0"> 96 <tr> 97 <td class="md" colspan="4"> 98 template<class TheClass> </td> 99 </tr> 100 <tr> 101 <td class="md" nowrap valign="top"> OsclSharedPtr< TheClass >::OsclSharedPtr </td> 102 <td class="md" valign="top">( </td> 103 <td class="md" nowrap valign="top">TheClass * </td> 104 <td class="mdname" nowrap> <em>inClassPtr</em>, </td> 105 </tr> 106 <tr> 107 <td></td> 108 <td></td> 109 <td class="md" nowrap><a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> * </td> 110 <td class="mdname" nowrap> <em>in_refcnt</em></td> 111 </tr> 112 <tr> 113 <td></td> 114 <td class="md">) </td> 115 <td class="md" colspan="2"><code> [inline]</code></td> 116 </tr> 117 118 </table> 119 </td> 120 </tr> 121 </table> 122 <table cellspacing=5 cellpadding=0 border=0> 123 <tr> 124 <td> 125 126 </td> 127 <td> 128 129 <p> 130 Constructor. 131 <p> 132 <dl compact><dt><b>Parameters: </b></dt><dd> 133 <table border=0 cellspacing=2 cellpadding=0> 134 <tr><td valign=top><em>inClassPtr</em> </td><td> 135 A pointer to an instance of the parameterized type that the new OsclSharedPtr will wrap. </td></tr> 136 </table> 137 </dl> </td> 138 </tr> 139 </table> 140 <a name="a2" doxytag="OsclSharedPtr::OsclSharedPtr"></a><p> 141 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 142 <tr> 143 <td class="md"> 144 <table cellpadding="0" cellspacing="0" border="0"> 145 <tr> 146 <td class="md" colspan="4"> 147 template<class TheClass> </td> 148 </tr> 149 <tr> 150 <td class="md" nowrap valign="top"> OsclSharedPtr< TheClass >::OsclSharedPtr </td> 151 <td class="md" valign="top">( </td> 152 <td class="md" nowrap valign="top">const OsclSharedPtr< TheClass > & </td> 153 <td class="mdname1" valign="top" nowrap> <em>inSharedPtr</em> </td> 154 <td class="md" valign="top">) </td> 155 <td class="md" nowrap><code> [inline]</code></td> 156 </tr> 157 158 </table> 159 </td> 160 </tr> 161 </table> 162 <table cellspacing=5 cellpadding=0 border=0> 163 <tr> 164 <td> 165 166 </td> 167 <td> 168 169 <p> 170 Copy constructor. 171 <p> 172 </td> 173 </tr> 174 </table> 175 <a name="a3" doxytag="OsclSharedPtr::~OsclSharedPtr"></a><p> 176 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 177 <tr> 178 <td class="md"> 179 <table cellpadding="0" cellspacing="0" border="0"> 180 <tr> 181 <td class="md" colspan="4"> 182 template<class TheClass> </td> 183 </tr> 184 <tr> 185 <td class="md" nowrap valign="top"> virtual OsclSharedPtr< TheClass >::~OsclSharedPtr </td> 186 <td class="md" valign="top">( </td> 187 <td class="mdname1" valign="top" nowrap> </td> 188 <td class="md" valign="top">) </td> 189 <td class="md" nowrap><code> [inline, virtual]</code></td> 190 </tr> 191 192 </table> 193 </td> 194 </tr> 195 </table> 196 <table cellspacing=5 cellpadding=0 border=0> 197 <tr> 198 <td> 199 200 </td> 201 <td> 202 203 <p> 204 Destructor. 205 <p> 206 </td> 207 </tr> 208 </table> 209 <hr><h2>Member Function Documentation</h2> 210 <a name="a9" doxytag="OsclSharedPtr::get_count"></a><p> 211 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 212 <tr> 213 <td class="md"> 214 <table cellpadding="0" cellspacing="0" border="0"> 215 <tr> 216 <td class="md" colspan="4"> 217 template<class TheClass> </td> 218 </tr> 219 <tr> 220 <td class="md" nowrap valign="top"> int OsclSharedPtr< TheClass >::get_count </td> 221 <td class="md" valign="top">( </td> 222 <td class="mdname1" valign="top" nowrap> </td> 223 <td class="md" valign="top">) </td> 224 <td class="md" nowrap><code> [inline]</code></td> 225 </tr> 226 227 </table> 228 </td> 229 </tr> 230 </table> 231 <table cellspacing=5 cellpadding=0 border=0> 232 <tr> 233 <td> 234 235 </td> 236 <td> 237 238 <p> 239 Get a count of how many references to the object exist. 240 <p> 241 </td> 242 </tr> 243 </table> 244 <a name="a8" doxytag="OsclSharedPtr::GetRefCounter"></a><p> 245 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 246 <tr> 247 <td class="md"> 248 <table cellpadding="0" cellspacing="0" border="0"> 249 <tr> 250 <td class="md" colspan="4"> 251 template<class TheClass> </td> 252 </tr> 253 <tr> 254 <td class="md" nowrap valign="top"> <a class="el" href="classOsclRefCounter.html">OsclRefCounter</a>* OsclSharedPtr< TheClass >::GetRefCounter </td> 255 <td class="md" valign="top">( </td> 256 <td class="mdname1" valign="top" nowrap> </td> 257 <td class="md" valign="top">) </td> 258 <td class="md" nowrap><code> [inline]</code></td> 259 </tr> 260 261 </table> 262 </td> 263 </tr> 264 </table> 265 <table cellspacing=5 cellpadding=0 border=0> 266 <tr> 267 <td> 268 269 </td> 270 <td> 271 272 <p> 273 Get the refcount pointer. This should primarily be used for conversion operations. 274 <p> 275 </td> 276 </tr> 277 </table> 278 <a name="a7" doxytag="OsclSharedPtr::GetRep"></a><p> 279 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 280 <tr> 281 <td class="md"> 282 <table cellpadding="0" cellspacing="0" border="0"> 283 <tr> 284 <td class="md" colspan="4"> 285 template<class TheClass> </td> 286 </tr> 287 <tr> 288 <td class="md" nowrap valign="top"> TheClass* OsclSharedPtr< TheClass >::GetRep </td> 289 <td class="md" valign="top">( </td> 290 <td class="mdname1" valign="top" nowrap> </td> 291 <td class="md" valign="top">) </td> 292 <td class="md" nowrap><code> [inline]</code></td> 293 </tr> 294 295 </table> 296 </td> 297 </tr> 298 </table> 299 <table cellspacing=5 cellpadding=0 border=0> 300 <tr> 301 <td> 302 303 </td> 304 <td> 305 306 <p> 307 Use this function to get a pointer to the wrapped object. 308 <p> 309 </td> 310 </tr> 311 </table> 312 <a name="a5" doxytag="OsclSharedPtr::operator *"></a><p> 313 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 314 <tr> 315 <td class="md"> 316 <table cellpadding="0" cellspacing="0" border="0"> 317 <tr> 318 <td class="md" colspan="4"> 319 template<class TheClass> </td> 320 </tr> 321 <tr> 322 <td class="md" nowrap valign="top"> TheClass& OsclSharedPtr< TheClass >::operator * </td> 323 <td class="md" valign="top">( </td> 324 <td class="mdname1" valign="top" nowrap> </td> 325 <td class="md" valign="top">) </td> 326 <td class="md" nowrap><code> [inline]</code></td> 327 </tr> 328 329 </table> 330 </td> 331 </tr> 332 </table> 333 <table cellspacing=5 cellpadding=0 border=0> 334 <tr> 335 <td> 336 337 </td> 338 <td> 339 340 <p> 341 The indirection operator returns a reference to an object of the parameterized type. 342 <p> 343 </td> 344 </tr> 345 </table> 346 <a name="a6" doxytag="OsclSharedPtr::operator TheClass *"></a><p> 347 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 348 <tr> 349 <td class="md"> 350 <table cellpadding="0" cellspacing="0" border="0"> 351 <tr> 352 <td class="md" colspan="4"> 353 template<class TheClass> </td> 354 </tr> 355 <tr> 356 <td class="md" nowrap valign="top"> OsclSharedPtr< TheClass >::operator TheClass * </td> 357 <td class="md" valign="top">( </td> 358 <td class="mdname1" valign="top" nowrap> </td> 359 <td class="md" valign="top">) </td> 360 <td class="md" nowrap><code> [inline]</code></td> 361 </tr> 362 363 </table> 364 </td> 365 </tr> 366 </table> 367 <table cellspacing=5 cellpadding=0 border=0> 368 <tr> 369 <td> 370 371 </td> 372 <td> 373 374 <p> 375 Casting operator. 376 <p> 377 </td> 378 </tr> 379 </table> 380 <a name="a4" doxytag="OsclSharedPtr::operator->"></a><p> 381 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 382 <tr> 383 <td class="md"> 384 <table cellpadding="0" cellspacing="0" border="0"> 385 <tr> 386 <td class="md" colspan="4"> 387 template<class TheClass> </td> 388 </tr> 389 <tr> 390 <td class="md" nowrap valign="top"> TheClass* OsclSharedPtr< TheClass >::operator-> </td> 391 <td class="md" valign="top">( </td> 392 <td class="mdname1" valign="top" nowrap> </td> 393 <td class="md" valign="top">) </td> 394 <td class="md" nowrap><code> [inline]</code></td> 395 </tr> 396 397 </table> 398 </td> 399 </tr> 400 </table> 401 <table cellspacing=5 cellpadding=0 border=0> 402 <tr> 403 <td> 404 405 </td> 406 <td> 407 408 <p> 409 The dereferencing operator returns a pointer to the parameterized type and can be used to access member elements of TheClass. </td> 410 </tr> 411 </table> 412 <a name="a13" doxytag="OsclSharedPtr::operator="></a><p> 413 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 414 <tr> 415 <td class="md"> 416 <table cellpadding="0" cellspacing="0" border="0"> 417 <tr> 418 <td class="md" colspan="4"> 419 template<class TheClass> </td> 420 </tr> 421 <tr> 422 <td class="md" nowrap valign="top"> OsclSharedPtr& OsclSharedPtr< TheClass >::operator= </td> 423 <td class="md" valign="top">( </td> 424 <td class="md" nowrap valign="top">const OsclSharedPtr< TheClass > & </td> 425 <td class="mdname1" valign="top" nowrap> <em>inSharedPtr</em> </td> 426 <td class="md" valign="top">) </td> 427 <td class="md" nowrap><code> [inline]</code></td> 428 </tr> 429 430 </table> 431 </td> 432 </tr> 433 </table> 434 <table cellspacing=5 cellpadding=0 border=0> 435 <tr> 436 <td> 437 438 </td> 439 <td> 440 441 <p> 442 Assignment operator. 443 <p> 444 </td> 445 </tr> 446 </table> 447 <a name="a12" doxytag="OsclSharedPtr::Unbind"></a><p> 448 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 449 <tr> 450 <td class="md"> 451 <table cellpadding="0" cellspacing="0" border="0"> 452 <tr> 453 <td class="md" colspan="4"> 454 template<class TheClass> </td> 455 </tr> 456 <tr> 457 <td class="md" nowrap valign="top"> void OsclSharedPtr< TheClass >::Unbind </td> 458 <td class="md" valign="top">( </td> 459 <td class="mdname1" valign="top" nowrap> </td> 460 <td class="md" valign="top">) </td> 461 <td class="md" nowrap><code> [inline]</code></td> 462 </tr> 463 464 </table> 465 </td> 466 </tr> 467 </table> 468 <table cellspacing=5 cellpadding=0 border=0> 469 <tr> 470 <td> 471 472 </td> 473 <td> 474 475 <p> 476 Use this function of unbind an existing OsclSharedPtr. 477 <p> 478 </td> 479 </tr> 480 </table> 481 <hr>The documentation for this class was generated from the following file:<ul> 482 <li><a class="el" href="oscl__shared__ptr_8h-source.html">oscl_shared_ptr.h</a></ul> 483 <hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small> 484 <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small> 485 </small></address> 486 </body> 487 </html> 488