The Vish Visualization Shell 0.3
Vish
Public Member Functions | List of all members
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< Object, ObjectBase >

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.
 
- Public Member Functions inherited from MemCore::WeakPtr< ClassDerivedFromVManagedObjectBase, VManagedObjectBase >
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< 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.
 

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< Object, ObjectBase >
typedef Object object_t
 Type of the associated object.
 
- Static Public Member Functions inherited from MemCore::WeakPtr< ClassDerivedFromVManagedObjectBase, VManagedObjectBase >
- 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< ClassDerivedFromVManagedObjectBase, VManagedObjectBase >
 WeakPtr (ClassDerivedFromVManagedObjectBase *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 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.