The Vish Visualization Shell 0.3
Vish
Public Types | Public Member Functions | List of all members
MemCore::InterfacePtr< InterfaceType > Struct Template Reference
Inheritance diagram for MemCore::InterfacePtr< InterfaceType >:
MemCore::StrongPtr< Object, ObjectBase > MemCore::WeakPtr< Object, ObjectBase > MemCore::DynPtr< Object, ObjectBase >

Public Types

typedef InterfaceType::InterfaceDomain_t InterfaceDomain_t
 The domain type, i.e.
 
- Public Types inherited from MemCore::StrongPtr< Object, ObjectBase >
typedef WeakPtr< Object, ObjectBase >::ObjectBase_t ObjectBase_t
 Exporting the base class of the reference counted objects.
 
- Public Types inherited from MemCore::WeakPtr< Object, ObjectBase >
typedef Object object_t
 Exporting the type of the derived class.
 
typedef ObjectBase ObjectBase_t
 Exporting the type of the base class.
 
typedef RefPtrTypeTrait< Object, ObjectBase >::ReferencePointerType pointer_t
 The result type of the pointer operator, may be changed with the RefPtrTypeTrait<> class.
 
typedef RefPtrTypeTrait< Object, 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

 InterfacePtr (Intercube &IC)
 Construct from Intercube.
 
 InterfacePtr (Intercube *IC)
 Construct from Intercube pointer.
 
- Public Member Functions inherited from MemCore::StrongPtr< Object, ObjectBase >
StrongPtrassignStrong (const DynPtr_t &other)
 assign a strong pointer from a weak pointer
 
StrongPtrassignStrong (const ReferenceBase< ObjectBase_t > *Obj)
 assign a strong pointer from a native pointer
 
StrongPtrassignStrong (const std::nullptr_t &)
 Assign nullptr to a strong pointer, which will remove the referenced object if its counter reaches zero, but the pointer will remain a valid weak pointer with sustained hash value (the referer will still be around).
 
template<typename... Arguments>
auto operator() (Arguments...parameters) const -> decltype((*this->getPtrValue())(parameters...))
 Function call operator forwarding.
 
refvalue_t & operator* () const
 The dereferencing *-operator.
 
pointer_t operator-> () const
 The pointer operator.
 
StrongPtroperator= (const DynPtr_t &other)
 Assignment operator, same as assignStrong()
 
StrongPtroperator= (const ReferenceBase< ObjectBase_t > *Obj)
 Assignment from object base class pointer.
 
StrongPtroperator= (const std::initializer_list< StrongPtr > &other)
 Syntactic sugar: Allows assignment with {} to create a nullptr.
 
StrongPtroperator= (const std::nullptr_t &)
 Assignment operator with nullptr, invalidate.
 
StrongPtroperator= (const StrongPtr &other)
 Assignment operator, same as assignStrong()
 
template<class IndexType >
auto operator[] (const IndexType &I) const -> decltype((*this->getPtrValue())[I])
 Index operator forwarding.
 
 StrongPtr ()
 Default constructor (makes a NULL pointer)
 
 StrongPtr (const ReferenceBase< ObjectBase_t > *Obj)
 Strong pointer from reference base of object, eg. via new operator.
 
 StrongPtr (const ReferenceBase< ObjectBase_t > *Obj, const NotNullPtr &)
 Strong pointer from reference base of object, eg. via new operator.
 
 StrongPtr (const std::nullptr_t &)
 Explicitely construct a nullptr pointer.
 
template<class ChildObject >
 StrongPtr (const StrongPtr< ChildObject, ObjectBase > &Other)
 Reference pointer with dynamic type identification.
 
 StrongPtr (const StrongPtr< Object, ObjectBase > &Other)
 Copy constructor.
 
template<class ChildObject >
 StrongPtr (const WeakPtr< ChildObject, ObjectBase_t > &Other)
 Reference pointer with dynamic type identification.
 
 ~StrongPtr ()
 Destructor, the last one cleans up and destructs the object itself.
 
- Public Member Functions inherited from MemCore::WeakPtr< Object, 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.
 
template<class AnyObject >
 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.
 

Additional Inherited Members

- Static Public Member Functions inherited from MemCore::WeakPtr< Object, 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< Object, ObjectBase >
 WeakPtr (Object *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.
 

Member Typedef Documentation

◆ InterfaceDomain_t

template<class InterfaceType >
typedef InterfaceType::InterfaceDomain_t MemCore::InterfacePtr< InterfaceType >::InterfaceDomain_t

The domain type, i.e.

a possible base class of the given interface type, which is used to look up a certain interface. The returned interface may be an implementation of the InterfaceDomain_t.