OpenSceneGraph/doc/doc++/osg/ref_ptr.html

191 lines
11 KiB
HTML
Raw Normal View History

2003-04-18 00:22:51 +08:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>template<class T> class osg::ref_ptr</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.10">
</HEAD>
<BODY BGCOLOR="#ffffff">
2003-10-02 22:28:30 +08:00
<H2>template&lt;class <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>&gt; class <A HREF="#DOC.DOCU">osg::ref_ptr</A></H2></H2><BLOCKQUOTE>Smart pointer for handling referenced counted objects</BLOCKQUOTE>
2003-04-18 00:22:51 +08:00
<HR>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.238.2">ref_ptr</A></B>()
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.238.3">ref_ptr</A></B>(<!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <!1><A HREF="ImpostorSprite.html#DOC.2.92.25">t</A>)
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.238.4">ref_ptr</A></B>(const <!1><A HREF="ref_ptr.html#DOC.2.238.4">ref_ptr</A>&amp; rp)
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.238.5">~ref_ptr</A></B>()
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="ref_ptr.html">ref_ptr</A>&amp; <B><A HREF="#DOC.2.238.6">operator = </A></B>(const <!1><A HREF="ref_ptr.html">ref_ptr</A>&amp; rp)
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="ref_ptr.html">ref_ptr</A>&amp; <B><A HREF="#DOC.2.238.7">operator = </A></B>(<!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <!1><A HREF="Vec4.html#DOC.2.229.8">ptr</A>)
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline bool <B><A HREF="#DOC.2.238.8">operator == </A></B>(const <!1><A HREF="ref_ptr.html">ref_ptr</A>&amp; rp) const
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline bool <B><A HREF="#DOC.2.238.9">operator != </A></B>(const <!1><A HREF="ref_ptr.html">ref_ptr</A>&amp; rp) const
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline bool <B><A HREF="#DOC.2.238.10">operator < </A></B>(const <!1><A HREF="ref_ptr.html">ref_ptr</A>&amp; rp) const
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline bool <B><A HREF="#DOC.2.238.11">operator > </A></B>(const <!1><A HREF="ref_ptr.html">ref_ptr</A>&amp; rp) const
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline bool <B><A HREF="#DOC.2.238.12">operator == </A></B>(const <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <!1><A HREF="Vec4.html#DOC.2.229.8">ptr</A>) const
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline bool <B><A HREF="#DOC.2.238.13">operator != </A></B>(const <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <!1><A HREF="Vec4.html#DOC.2.229.8">ptr</A>) const
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline bool <B><A HREF="#DOC.2.238.14">operator < </A></B>(const <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <!1><A HREF="Vec4.html#DOC.2.229.8">ptr</A>) const
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline bool <B><A HREF="#DOC.2.238.15">operator > </A></B>(const <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <!1><A HREF="Vec4.html#DOC.2.229.8">ptr</A>) const
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>&amp; <B><A HREF="#DOC.2.238.16">operator*</A></B>()
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>&amp; <B><A HREF="#DOC.2.238.17">operator*</A></B>() const
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <B><A HREF="#DOC.2.238.18">operator-></A></B>()
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <B><A HREF="#DOC.2.238.19">operator-></A></B>() const
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline bool <B><A HREF="#DOC.2.238.20">operator!</A></B>() const
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline bool <B><A HREF="#DOC.2.238.21">valid</A></B>() const
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <B><A HREF="#DOC.2.238.22">get</A></B>()
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <B><A HREF="#DOC.2.238.23">get</A></B>() const
2003-04-18 00:22:51 +08:00
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <B><A HREF="#DOC.2.238.24">take</A></B>()
2003-04-18 00:22:51 +08:00
<DD><I>take control over the object pointed to by ref_ptr, unreference but do not delete even if ref count goes to 0, return the pointer to the object.</I>
<DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <B><A HREF="#DOC.2.238.25">release</A></B>()
2003-07-23 19:27:31 +08:00
</DL></P>
<P><DL>
<DT><H3>Public Members</H3><DD><DT>
2003-10-02 22:28:30 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A> <B><A HREF="#DOC.2.238.1">element_type</A></B>
2003-04-18 00:22:51 +08:00
</DL></P>
</DL>
<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>Smart pointer for handling referenced counted objects</BLOCKQUOTE>
<DL>
2003-07-23 19:27:31 +08:00
<A NAME="element_type"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A> element_type</B></TT>
2003-07-23 19:27:31 +08:00
<DL><DT><DD></DL><P>
2003-04-18 00:22:51 +08:00
<A NAME="ref_ptr"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.2"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ref_ptr()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ref_ptr"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ref_ptr(<!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <!1><A HREF="ImpostorSprite.html#DOC.2.92.25">t</A>)</B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="ref_ptr"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ref_ptr(const <!1><A HREF="ref_ptr.html#DOC.2.238.4">ref_ptr</A>&amp; rp)</B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="~ref_ptr"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.5"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~ref_ptr()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator = "></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.6"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="ref_ptr.html">ref_ptr</A>&amp; operator = (const <!1><A HREF="ref_ptr.html">ref_ptr</A>&amp; rp)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator = "></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="ref_ptr.html">ref_ptr</A>&amp; operator = (<!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <!1><A HREF="Vec4.html#DOC.2.229.8">ptr</A>)</B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="operator == "></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.8"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline bool operator == (const <!1><A HREF="ref_ptr.html">ref_ptr</A>&amp; rp) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator != "></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.9"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline bool operator != (const <!1><A HREF="ref_ptr.html">ref_ptr</A>&amp; rp) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator < "></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.10"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline bool operator < (const <!1><A HREF="ref_ptr.html">ref_ptr</A>&amp; rp) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator > "></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.11"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline bool operator > (const <!1><A HREF="ref_ptr.html">ref_ptr</A>&amp; rp) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator == "></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline bool operator == (const <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <!1><A HREF="Vec4.html#DOC.2.229.8">ptr</A>) const </B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="operator != "></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline bool operator != (const <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <!1><A HREF="Vec4.html#DOC.2.229.8">ptr</A>) const </B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="operator < "></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline bool operator < (const <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <!1><A HREF="Vec4.html#DOC.2.229.8">ptr</A>) const </B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="operator > "></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline bool operator > (const <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* <!1><A HREF="Vec4.html#DOC.2.229.8">ptr</A>) const </B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="operator*"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>&amp; operator*()</B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="operator*"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>&amp; operator*() const </B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="operator->"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* operator->()</B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="operator->"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* operator->() const </B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="operator!"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.20"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline bool operator!() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="valid"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.21"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline bool valid() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="get"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* get()</B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="get"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* get() const </B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="take"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* take()</B></TT>
2003-04-18 00:22:51 +08:00
<DD>take control over the object pointed to by ref_ptr, unreference but do not delete even if ref count goes to 0,
return the pointer to the object.
Note, do not use this unless you are 100% sure your code handles the deletion of the object correctly, and
only use when absolutely required.
<DL><DT><DD></DL><P>
<A NAME="release"></A>
2003-10-02 22:28:30 +08:00
<A NAME="DOC.2.238.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="TexGen.html#DOC.2.203.11.2">T</A>* release()</B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P></DL>
<HR><DL><DT><B>This class has no child classes.</B></DL>
<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>