13 |
<DL> |
<DL> |
14 |
<P><DL> |
<P><DL> |
15 |
<DT><H3>Public Fields</H3><DD><DT> |
<DT><H3>Public Fields</H3><DD><DT> |
16 |
<IMG ALT="[more]" BORDER=0 SRC=icon1.png>bool <B><A HREF="#DOC.2.2.9">res</A></B> |
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.2.9">res</A></B> |
17 |
</DL></P> |
</DL></P> |
18 |
|
|
19 |
<P><DL> |
<P><DL> |
20 |
<DT><H3>Public Methods</H3><DD><DT> |
<DT><H3>Public Methods</H3><DD><DT> |
21 |
<IMG ALT="[more]" BORDER=0 SRC=icon1.png> <B><A HREF="#DOC.2.2.1">SmartPtr</A></B>(void) |
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.2.1">SmartPtr</A></B>(void) |
22 |
<DD><I>Default constructor</I> |
<DD><I>Default constructor</I> |
23 |
<DT> |
<DT> |
24 |
<IMG ALT="[more]" BORDER=0 SRC=icon1.png> <B><A HREF="#DOC.2.2.2">SmartPtr</A></B>(T* ptr) |
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.2.2">SmartPtr</A></B>(T* ptr) |
25 |
<DD><I>Constructor based on a pointer to the desired object After this call, the pointer is under control !</I> |
<DD><I>Constructor based on a pointer to the desired object After this call, the pointer is under control !</I> |
26 |
<DT> |
<DT> |
27 |
<IMG ALT="[more]" BORDER=0 SRC=icon1.png> <B><A HREF="#DOC.2.2.3">~SmartPtr</A></B>(void) |
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.2.3">~SmartPtr</A></B>(void) |
28 |
<DD><I>Destructor : free a reference of the counted object If the references counter == 0, free the object</I> |
<DD><I>Destructor : free a reference of the counted object If the references counter == 0, free the object</I> |
29 |
<DT> |
<DT> |
30 |
<IMG ALT="[more]" BORDER=0 SRC=icon1.png> <B><A HREF="#DOC.2.2.4">SmartPtr</A></B>(<!1><A HREF="SmartPtr.html#DOC.2.2.4">SmartPtr</A><T> const & ref) |
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.2.4">SmartPtr</A></B>(<!1><A HREF="SmartPtr.html#DOC.2.2.4">SmartPtr</A><T> const & ref) |
31 |
<DD><I>Copy-constructor : get a new reference to the counted object</I> |
<DD><I>Copy-constructor : get a new reference to the counted object</I> |
32 |
<DT> |
<DT> |
33 |
<IMG ALT="[more]" BORDER=0 SRC=icon1.png><!1><A HREF="SmartPtr.html">SmartPtr</A><T> & <B><A HREF="#DOC.2.2.5">operator=</A></B>(<!1><A HREF="SmartPtr.html">SmartPtr</A><T> const &ref) |
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="SmartPtr.html">SmartPtr</A><T> & <B><A HREF="#DOC.2.2.5">operator=</A></B>(<!1><A HREF="SmartPtr.html">SmartPtr</A><T> const &ref) |
34 |
<DD><I>Assignment operator : release the current counted object and get a new reference to the counted object</I> |
<DD><I>Assignment operator : release the current counted object and get a new reference to the counted object</I> |
35 |
<DT> |
<DT> |
36 |
<IMG ALT="[more]" BORDER=0 SRC=icon1.png>T* <B><A HREF="#DOC.2.2.6">operator-></A></B>() |
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>T* <B><A HREF="#DOC.2.2.6">operator-></A></B>() |
37 |
<DD><I>Dereferencement operator : provide consistent use of counted objects obj->member_of_class_T even if obj is in fact SmartPtr<T> obj;</I> |
<DD><I>Dereferencement operator : provide consistent use of counted objects obj->member_of_class_T even if obj is in fact SmartPtr<T> obj;</I> |
38 |
<DT> |
<DT> |
39 |
<IMG ALT="[more]" BORDER=0 SRC=icon1.png>T const* <B><A HREF="#DOC.2.2.7">operator-></A></B>() const |
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>T const* <B><A HREF="#DOC.2.2.7">operator-></A></B>() const |
40 |
<DD><I>Const dereferencement operator</I> |
<DD><I>Const dereferencement operator</I> |
41 |
<DT> |
<DT> |
42 |
<IMG ALT="[more]" BORDER=0 SRC=icon1.png>T* <B><A HREF="#DOC.2.2.8">getPtr</A></B>(void) const |
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>T* <B><A HREF="#DOC.2.2.8">getPtr</A></B>(void) const |
43 |
<DD><I>Returns the pointer, without any control </I> |
<DD><I>Returns the pointer, without any control </I> |
44 |
<DT> |
<DT> |
45 |
<IMG ALT="[more]" BORDER=0 SRC=icon1.png> <B><A HREF="#DOC.2.2.10">return</A></B>(lhs==rhs) |
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.2.10">return</A></B>(lhs==rhs) |
46 |
<DT> |
<DT> |
47 |
<IMG ALT="[more]" BORDER=0 SRC=icon1.png>bool <B><A HREF="#DOC.2.2.11">Null</A></B>(void) const |
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.2.11">Null</A></B>(void) const |
48 |
<DD><I>true if the SmartPtr object does not reference any pointer</I> |
<DD><I>true if the SmartPtr object does not reference any pointer</I> |
49 |
<DT> |
<DT> |
50 |
<IMG ALT="[more]" BORDER=0 SRC=icon1.png>void <B><A HREF="#DOC.2.2.12">setNull</A></B>(void) |
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.2.12">setNull</A></B>(void) |
51 |
<DD><I>frees the referenced pointer</I> |
<DD><I>frees the referenced pointer</I> |
52 |
</DL></P> |
</DL></P> |
53 |
|
|
61 |
|
|
62 |
<A NAME="SmartPtr"></A> |
<A NAME="SmartPtr"></A> |
63 |
<A NAME="DOC.2.2.1"></A> |
<A NAME="DOC.2.2.1"></A> |
64 |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.png><TT><B> SmartPtr(void)</B></TT> |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SmartPtr(void)</B></TT> |
65 |
<DD>Default constructor |
<DD>Default constructor |
66 |
<DL><DT><DD></DL><P> |
<DL><DT><DD></DL><P> |
67 |
<A NAME="SmartPtr"></A> |
<A NAME="SmartPtr"></A> |
68 |
<A NAME="DOC.2.2.2"></A> |
<A NAME="DOC.2.2.2"></A> |
69 |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.png><TT><B> SmartPtr(T* ptr)</B></TT> |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SmartPtr(T* ptr)</B></TT> |
70 |
<DD>Constructor based on a pointer to the desired object |
<DD>Constructor based on a pointer to the desired object |
71 |
After this call, the pointer is under control ! |
After this call, the pointer is under control ! |
72 |
<DL><DT><DD></DL><P> |
<DL><DT><DD></DL><P> |
73 |
<A NAME="~SmartPtr"></A> |
<A NAME="~SmartPtr"></A> |
74 |
<A NAME="DOC.2.2.3"></A> |
<A NAME="DOC.2.2.3"></A> |
75 |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.png><TT><B> ~SmartPtr(void)</B></TT> |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~SmartPtr(void)</B></TT> |
76 |
<DD>Destructor : free a reference of the counted object |
<DD>Destructor : free a reference of the counted object |
77 |
If the references counter == 0, free the object |
If the references counter == 0, free the object |
78 |
<DL><DT><DD></DL><P> |
<DL><DT><DD></DL><P> |
79 |
<A NAME="SmartPtr"></A> |
<A NAME="SmartPtr"></A> |
80 |
<A NAME="DOC.2.2.4"></A> |
<A NAME="DOC.2.2.4"></A> |
81 |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.png><TT><B> SmartPtr(<!1><A HREF="SmartPtr.html#DOC.2.2.4">SmartPtr</A><T> const & ref)</B></TT> |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SmartPtr(<!1><A HREF="SmartPtr.html#DOC.2.2.4">SmartPtr</A><T> const & ref)</B></TT> |
82 |
<DD>Copy-constructor : get a new reference to the counted object |
<DD>Copy-constructor : get a new reference to the counted object |
83 |
<DL><DT><DD></DL><P> |
<DL><DT><DD></DL><P> |
84 |
<A NAME="operator="></A> |
<A NAME="operator="></A> |
85 |
<A NAME="DOC.2.2.5"></A> |
<A NAME="DOC.2.2.5"></A> |
86 |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.png><TT><B><!1><A HREF="SmartPtr.html">SmartPtr</A><T> & operator=(<!1><A HREF="SmartPtr.html">SmartPtr</A><T> const &ref)</B></TT> |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="SmartPtr.html">SmartPtr</A><T> & operator=(<!1><A HREF="SmartPtr.html">SmartPtr</A><T> const &ref)</B></TT> |
87 |
<DD>Assignment operator : release the current counted object |
<DD>Assignment operator : release the current counted object |
88 |
and get a new reference to the counted object |
and get a new reference to the counted object |
89 |
<DL><DT><DD></DL><P> |
<DL><DT><DD></DL><P> |
90 |
<A NAME="operator->"></A> |
<A NAME="operator->"></A> |
91 |
<A NAME="DOC.2.2.6"></A> |
<A NAME="DOC.2.2.6"></A> |
92 |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.png><TT><B>T* operator->()</B></TT> |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>T* operator->()</B></TT> |
93 |
<DD>Dereferencement operator : provide consistent use of counted objects |
<DD>Dereferencement operator : provide consistent use of counted objects |
94 |
obj->member_of_class_T even if obj is in fact SmartPtr<T> obj; |
obj->member_of_class_T even if obj is in fact SmartPtr<T> obj; |
95 |
<DL><DT><DD></DL><P> |
<DL><DT><DD></DL><P> |
96 |
<A NAME="operator->"></A> |
<A NAME="operator->"></A> |
97 |
<A NAME="DOC.2.2.7"></A> |
<A NAME="DOC.2.2.7"></A> |
98 |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.png><TT><B>T const* operator->() const </B></TT> |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>T const* operator->() const </B></TT> |
99 |
<DD>Const dereferencement operator |
<DD>Const dereferencement operator |
100 |
<DL><DT><DD></DL><P> |
<DL><DT><DD></DL><P> |
101 |
<A NAME="getPtr"></A> |
<A NAME="getPtr"></A> |
102 |
<A NAME="DOC.2.2.8"></A> |
<A NAME="DOC.2.2.8"></A> |
103 |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.png><TT><B>T* getPtr(void) const </B></TT> |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>T* getPtr(void) const </B></TT> |
104 |
<DD>Returns the pointer, without any control |
<DD>Returns the pointer, without any control |
105 |
Returns the pointer, without any control. |
Returns the pointer, without any control. |
106 |
Warning : the following sequence may lead to segfault ! |
Warning : the following sequence may lead to segfault ! |
114 |
<DL><DT><DD></DL><P> |
<DL><DT><DD></DL><P> |
115 |
<A NAME="res"></A> |
<A NAME="res"></A> |
116 |
<A NAME="DOC.2.2.9"></A> |
<A NAME="DOC.2.2.9"></A> |
117 |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.png><TT><B>bool res</B></TT> |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool res</B></TT> |
118 |
<DL><DT><DD></DL><P> |
<DL><DT><DD></DL><P> |
119 |
<A NAME="return"></A> |
<A NAME="return"></A> |
120 |
<A NAME="DOC.2.2.10"></A> |
<A NAME="DOC.2.2.10"></A> |
121 |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.png><TT><B> return(lhs==rhs)</B></TT> |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> return(lhs==rhs)</B></TT> |
122 |
<DL><DT><DD></DL><P> |
<DL><DT><DD></DL><P> |
123 |
<A NAME="Null"></A> |
<A NAME="Null"></A> |
124 |
<A NAME="DOC.2.2.11"></A> |
<A NAME="DOC.2.2.11"></A> |
125 |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.png><TT><B>bool Null(void) const </B></TT> |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool Null(void) const </B></TT> |
126 |
<DD>true if the SmartPtr object does not reference any pointer |
<DD>true if the SmartPtr object does not reference any pointer |
127 |
<DL><DT><DD></DL><P> |
<DL><DT><DD></DL><P> |
128 |
<A NAME="setNull"></A> |
<A NAME="setNull"></A> |
129 |
<A NAME="DOC.2.2.12"></A> |
<A NAME="DOC.2.2.12"></A> |
130 |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.png><TT><B>void setNull(void)</B></TT> |
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setNull(void)</B></TT> |
131 |
<DD>frees the referenced pointer |
<DD>frees the referenced pointer |
132 |
<DL><DT><DD></DL><P></DL> |
<DL><DT><DD></DL><P></DL> |
133 |
|
|