The Vish Visualization Shell 0.3
Vish
List of all members
MemCore::SelfPtr< ObjectBase > Class Template Reference

The kind of pointer used within a ReferenceBase as part of the reference-counted object itself. More...

#include <elementary/memcore/RefPtr.hpp>

Inheritance diagram for MemCore::SelfPtr< ObjectBase >:
MemCore::WeakPtr< ObjectBase, ObjectBase > MemCore::DynPtr< Object, ObjectBase >

Additional Inherited Members

- Public Types inherited from MemCore::WeakPtr< ObjectBase, ObjectBase >
typedef ObjectBase object_t
 Exporting the type of the derived class.
 
typedef ObjectBase ObjectBase_t
 Exporting the type of the base class.
 
typedef RefPtrTypeTrait< ObjectBase, ObjectBase >::ReferencePointerType pointer_t
 The result type of the pointer operator, may be changed with the RefPtrTypeTrait<> class.
 
typedef RefPtrTypeTrait< ObjectBase, ObjectBase >::ReferenceValueType refvalue_t
 The result of the dereferencing operator, may be changed with the RefPtrTypeTrait<> class.
 
- Public Types inherited from MemCore::DynPtr< Object, ObjectBase >
typedef Object object_t
 Type of the associated object.
 
- Public Member Functions inherited from MemCore::WeakPtr< ObjectBase, ObjectBase >
pointer_t getPtrValue () const
 The pointer value, checked for null.
 
pointer_t operator-> () const
 The pointer operator.
 
refvalue_toperator* () const
 The dereferencing *-operator.
 
size_t operator~ () const
 Convenience operator to easily retrieve the object count ID of the referenced object, a unique number for each instance.
 
 WeakPtr ()
 Default constructor, makes a NULL pointer.
 
 WeakPtr (const std::nullptr_t &)
 Explicitely construct NULL pointer.
 
 WeakPtr (const ReferenceBase< ObjectBase > *Obj)
 Weak pointer from reference base of object.
 
 WeakPtr (const ReferenceBase< ObjectBase > *Obj, const NotNullPtr &)
 Weak pointer from reference base of object which must not be null.
 
 WeakPtr (const WeakPtr< AnyObject, ObjectBase > &Other)
 Weak pointer from pointer to another class.
 
 WeakPtr (const WeakPtr &Other)
 Copy constructor.
 
 ~WeakPtr ()
 Default destructor, removes weak references to the object, the last one cleans up the referrer proxy object.
 
WeakPtrassignWeak (const WeakPtr &other)
 Assign a weak pointer (explicit function call, same as assignment operator for weak pointers)
 
WeakPtroperator= (const WeakPtr &other)
 Assignment operator (same as assignWeak() )
 
- Public Member Functions inherited from MemCore::DynPtr< Object, ObjectBase >
const DynPtrgetDynPtr () const noexcept
 Convenience type cast to dynamic pointer class.
 
const type_info & getType () const noexcept
 Return type info of associated object, typeid(NullPtr) or typeid(void) if none.
 
bool isAssignable (const DynPtr< ObjectBase, ObjectBase > &Other) const noexcept
 Check whether a given pointer to a base class may be assigned to a pointer of the derived class.
 
 operator void * () const noexcept
 Check if the pointer is valid.
 
bool operator! () const noexcept
 Check if the pointer is invalid.
 
void speak (const char *s, const char *prefix="") const noexcept
 Print some debug messages to the console.
 
- Static Public Member Functions inherited from MemCore::WeakPtr< ObjectBase, ObjectBase >
- Static Public Member Functions inherited from MemCore::DynPtr< Object, ObjectBase >
static const DynPtrgetNullPtr () noexcept
 Associated static NullPtr - avoids creation of a temporary object when a reference is needed.
 
- Protected Member Functions inherited from MemCore::WeakPtr< ObjectBase, ObjectBase >
 WeakPtr (ObjectBase *that, const SelfInitialize &)
 Internal constructor used when initializing an object with its own self-reference.
 
- Protected Member Functions inherited from MemCore::DynPtr< Object, ObjectBase >
template<class AnyObject >
 DynPtr (const DynPtr< AnyObject, ObjectBase > &Other) noexcept
 Implicit type conversion within the same class hierarchy Any pointer.
 
 DynPtr (const std::nullptr_t &) noexcept
 Assign from nullptr.
 

Detailed Description

template<class ObjectBase>
class MemCore::SelfPtr< ObjectBase >

The kind of pointer used within a ReferenceBase as part of the reference-counted object itself.

It will set the myReferer object reference on zero during destruction, indicating that this object has vanished to all weak and strong pointers.