<html> <head> <title>Cal3D: cal3d::RefPtr< T > Class Template Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#ffffff"> <table width="100%" border="0" cellspacing="0" cellpadding="5" align="center"> <tr> <td class="md" align="center"> <small> <b>- Cal3D 0.11 API Reference -</b> </small> </td> </tr> </table> <br> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><b>cal3d</b>::<a class="el" href="classcal3d_1_1RefPtr.html">RefPtr</a> </div> </div> <div class="contents"> <h1>cal3d::RefPtr< T > Class Template Reference</h1><!-- doxytag: class="cal3d::RefPtr" -->A container-safe smart pointer used for refcounted classes. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="refptr_8h_source.html">refptr.h</a>></code> <p> <p> <a href="classcal3d_1_1RefPtr-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f3031301d2269be8a9cfe14cdbda39bb"></a><!-- doxytag: member="cal3d::RefPtr::element_type" ref="f3031301d2269be8a9cfe14cdbda39bb" args="" --> typedef T </td><td class="memItemRight" valign="bottom"><b>element_type</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e45259cc4144dfe08ac2445b101cd7f4"></a><!-- doxytag: member="cal3d::RefPtr::this_type" ref="e45259cc4144dfe08ac2445b101cd7f4" args="" --> typedef <a class="el" href="classcal3d_1_1RefPtr.html">RefPtr</a>< T > </td><td class="memItemRight" valign="bottom"><b>this_type</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5016576d6557bef8dce39b773fffa944"></a><!-- doxytag: member="cal3d::RefPtr::unspecified_bool_type" ref="5016576d6557bef8dce39b773fffa944" args="" --> typedef T *this_type::* </td><td class="memItemRight" valign="bottom"><a class="el" href="classcal3d_1_1RefPtr.html#5016576d6557bef8dce39b773fffa944">unspecified_bool_type</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Inspired by boost's smart_ptr facilities. <br></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3192d3ada5b11f47af1c41587d51f79b"></a><!-- doxytag: member="cal3d::RefPtr::RefPtr" ref="3192d3ada5b11f47af1c41587d51f79b" args="(T *ptr=0)" --> </td><td class="memItemRight" valign="bottom"><b>RefPtr</b> (T *ptr=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="158d5307be2df66cefeacd6fde945089"></a><!-- doxytag: member="cal3d::RefPtr::RefPtr" ref="158d5307be2df66cefeacd6fde945089" args="(const RefPtr< T > &ptr)" --> </td><td class="memItemRight" valign="bottom"><b>RefPtr</b> (const <a class="el" href="classcal3d_1_1RefPtr.html">RefPtr</a>< T > &ptr)</td></tr> <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="07b75d98d4f21d88c9875ae2fbe734b5"></a><!-- doxytag: member="cal3d::RefPtr::operator=" ref="07b75d98d4f21d88c9875ae2fbe734b5" args="(U *ptr)" --> template<typename U > </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classcal3d_1_1RefPtr.html">RefPtr</a>< T > & </td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (U *ptr)</td></tr> <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="e9b2872ef00833b882b8dbbdbfe22bdd"></a><!-- doxytag: member="cal3d::RefPtr::operator=" ref="e9b2872ef00833b882b8dbbdbfe22bdd" args="(const RefPtr< U > &ptr)" --> template<typename U > </td></tr> <tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classcal3d_1_1RefPtr.html">RefPtr</a>< T > & </td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classcal3d_1_1RefPtr.html">RefPtr</a>< U > &ptr)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="be3633aaa77e46f3870583f0264b26cc"></a><!-- doxytag: member="cal3d::RefPtr::operator=" ref="be3633aaa77e46f3870583f0264b26cc" args="(const RefPtr< T > &ptr)" --> <a class="el" href="classcal3d_1_1RefPtr.html">RefPtr</a>< T > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classcal3d_1_1RefPtr.html#be3633aaa77e46f3870583f0264b26cc">operator=</a> (const <a class="el" href="classcal3d_1_1RefPtr.html">RefPtr</a>< T > &ptr)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Need this to override the built-in operator=. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5710d60b6dbcf429db4d1ad2d2cb2859"></a><!-- doxytag: member="cal3d::RefPtr::operator!" ref="5710d60b6dbcf429db4d1ad2d2cb2859" args="() const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcal3d_1_1RefPtr.html#5710d60b6dbcf429db4d1ad2d2cb2859">operator!</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Need this to override the built-in operator! <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="604f6b8aef7bfd5b04af284965569ce9"></a><!-- doxytag: member="cal3d::RefPtr::operator->" ref="604f6b8aef7bfd5b04af284965569ce9" args="() const " --> T * </td><td class="memItemRight" valign="bottom"><b>operator-></b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f3a40c6645dafdbc0451dc3e37a3ccc1"></a><!-- doxytag: member="cal3d::RefPtr::operator*" ref="f3a40c6645dafdbc0451dc3e37a3ccc1" args="() const " --> T & </td><td class="memItemRight" valign="bottom"><b>operator*</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="65cd404c942de28d54ea66acc4177b1b"></a><!-- doxytag: member="cal3d::RefPtr::operator unspecified_bool_type" ref="65cd404c942de28d54ea66acc4177b1b" args="() const " --> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcal3d_1_1RefPtr.html#65cd404c942de28d54ea66acc4177b1b">operator unspecified_bool_type</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This lets us write code like: if (ptr && ptr->valid()). <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa75f4095942e827ef214120a1efa214"></a><!-- doxytag: member="cal3d::RefPtr::get" ref="fa75f4095942e827ef214120a1efa214" args="() const " --> T * </td><td class="memItemRight" valign="bottom"><b>get</b> () const </td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <h3>template<typename T><br> class cal3d::RefPtr< T ></h3> A container-safe smart pointer used for refcounted classes. <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="refptr_8h_source.html">refptr.h</a></ul> </div> <hr> <center> <small> Generated at Fri Jul 24 21:14:36 2009 by <a href="http://gna.org/projects/cal3d/">The Cal3D Team</a> with <a href="http://www.doxygen.org/index.html"> Doxygen 1.5.9 </a> </small> </center> </body> </html>