The Vish Visualization Shell 0.3
Vish
Wizt::VPointer< ClassDerivedFromVManagedObjectBase > Struct Template Reference

A convenience template class to use weak pointers on objects that are not yet defined, but known to be derived from class VManagedObjectBase . More...

#include <ocean/plankton/VManagedObject.hpp>

Inheritance diagram for Wizt::VPointer< ClassDerivedFromVManagedObjectBase >:
MemCore::WeakPtr< ClassDerivedFromVManagedObjectBase, VManagedObjectBase > MemCore::DynPtr< ClassDerivedFromVManagedObjectBase, VManagedObjectBase >

Public Member Functions

 VPointer ()
 Default constructor, creates a null pointer.
 VPointer (ClassDerivedFromVManagedObjectBase *ptr)
 Construct from native pointer.
 VPointer (const VPointer &ptr)
 Copy constructor.
 VPointer (const WeakPtr< ClassDerivedFromVManagedObjectBase, VManagedObjectBase > &ptr)
 Construct from weak pointer to object.
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< VManagedObjectBase > *Obj)
 Weak pointer from reference base of object.
 WeakPtr (const ReferenceBase< VManagedObjectBase > *Obj, const NotNullPtr &)
 Weak pointer from reference base of object which must not be null.
 WeakPtr (const WeakPtr< AnyObject, VManagedObjectBase > &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< ClassDerivedFromVManagedObjectBase, VManagedObjectBase >
const DynPtr & getDynPtr () 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< VManagedObjectBase, VManagedObjectBase > &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.

Additional Inherited Members

Public Types inherited from MemCore::WeakPtr< ClassDerivedFromVManagedObjectBase, VManagedObjectBase >
typedef ClassDerivedFromVManagedObjectBase object_t
 Exporting the type of the derived class.
typedef VManagedObjectBase ObjectBase_t
 Exporting the type of the base class.
typedef RefPtrTypeTrait< ClassDerivedFromVManagedObjectBase, VManagedObjectBase >::ReferencePointerType pointer_t
 The result type of the pointer operator, may be changed with the RefPtrTypeTrait<> class.
typedef RefPtrTypeTrait< ClassDerivedFromVManagedObjectBase, VManagedObjectBase >::ReferenceValueType refvalue_t
 The result of the dereferencing operator, may be changed with the RefPtrTypeTrait<> class.
Public Types inherited from MemCore::DynPtr< ClassDerivedFromVManagedObjectBase, VManagedObjectBase >
typedef ClassDerivedFromVManagedObjectBase object_t
 Type of the associated object.
Static Public Member Functions inherited from MemCore::DynPtr< ClassDerivedFromVManagedObjectBase, VManagedObjectBase >
static const DynPtr & getNullPtr () noexcept
 Associated static NullPtr - avoids creation of a temporary object when a reference is needed.
Protected Member Functions inherited from MemCore::WeakPtr< ClassDerivedFromVManagedObjectBase, VManagedObjectBase >
 WeakPtr (ClassDerivedFromVManagedObjectBase *that, const SelfInitialize &)
 Internal constructor used when initializing an object with its own self-reference.
void Speak (const char *s, const char *prefix="") const
 Verbose information printing for this pointer.

Detailed Description

template<class ClassDerivedFromVManagedObjectBase>
struct Wizt::VPointer< ClassDerivedFromVManagedObjectBase >

A convenience template class to use weak pointers on objects that are not yet defined, but known to be derived from class VManagedObjectBase .

Parameters
ClassDerivedFromVManagedObjectBaseA class that is known to be derived from VManagedObjectBase, but only declared yet.