libshevek
|
Keep a pointer to an object derived from crefbase. More...
#include <crefptr.hh>
Inherits shevek::crefbase::_ptr.
Public Member Functions | |
crefptr (crefbase *target=NULL, crefbase *owner=NULL) | |
Create a new pointer. If this pointer is stored inside a crefbase-derived object, make sure to set the owner. | |
_T & | operator* () const |
Dereference the pointer. | |
_T * | operator-> () const |
Dereference the pointer. | |
bool | operator== (crefptr< _T > const &that) const |
Test if two pointers refer to the same object. | |
bool | operator!= (crefptr< _T > const &that) const |
Test if two pointers don't refer to the same object. | |
template<typename _R > | |
_R * | cast_dynamic () const |
Create a new pointer from this one, up- or downcast. Normally, this is used to fill a new crefptr. | |
operator _T * () const | |
Implicit pointer conversion. | |
crefptr< _T > | init (int code=0) |
Allow the pointer to be destroyed. See crefbase::init_done for details. | |
![]() | |
_ptr (_ptr const &that) | |
_ptr & | operator= (_ptr const &that) |
void | reset () |
void | set_owner (crefbase *owner) |
Additional Inherited Members | |
![]() | |
_ptr (_objptr owner, _objptr target) |
Keep a pointer to an object derived from crefbase.