| OpenTTD
    | 
CCountedPtr - simple reference counting smart pointer. More...
#include <countedptr.hpp>
| Public Types | |
| typedef Tcls_ | Tcls | 
| redefine the template argument to make it visible for derived classes | |
| Public Member Functions | |
| CCountedPtr (Tcls *pObj=NULL) | |
| default (NULL) construct or construct from a raw pointer | |
| CCountedPtr (const CCountedPtr &src) | |
| copy constructor (invoked also when initializing from another smart ptr) | |
| ~CCountedPtr () | |
| destructor releasing the reference | |
| void | Release () | 
| release smart pointer (and decrement ref count) if not null | |
| const Tcls * | operator-> () const | 
| dereference of smart pointer - const way | |
| Tcls * | operator-> () | 
| dereference of smart pointer - non const way | |
| operator const Tcls * () const | |
| raw pointer casting operator - const way | |
| operator Tcls * () | |
| raw pointer casting operator - non-const way | |
| Tcls ** | operator& () | 
| operator & to support output arguments | |
| CCountedPtr & | operator= (Tcls *pT) | 
| assignment operator from raw ptr | |
| CCountedPtr & | operator= (const CCountedPtr &src) | 
| assignment operator from another smart ptr | |
| void | Assign (Tcls *pT) | 
| assignment operator helper | |
| bool | IsNull () const | 
| one way how to test for NULL value | |
| void | Attach (Tcls *pT) | 
| another way how to test for NULL value | |
| Tcls * | Detach () | 
| detach pointer w/o decrementing ref count | |
| Protected Member Functions | |
| void | AddRef () | 
| add one ref to the underlaying object | |
| Protected Attributes | |
| Tcls * | m_pT | 
| here we hold our pointer to the target | |
CCountedPtr - simple reference counting smart pointer.
One of the standard ways how to maintain object's lifetime.
See http://ootips.org/yonat/4dev/smart-pointers.html for more general info about smart pointers.
This class implements ref-counted pointer for objects/interfaces that support AddRef() and Release() methods.
Definition at line 27 of file countedptr.hpp.
| 
 | inline | 
another way how to test for NULL value
yet another way how to test for NULL value assign pointer w/o incrementing ref count
Definition at line 137 of file countedptr.hpp.
References CCountedPtr< Tcls_ >::m_pT, and CCountedPtr< Tcls_ >::Release().
 1.8.1.2
 1.8.1.2