The Vish Visualization Shell 0.3
Vish
MemCore::Interface< Domain > Class Template Reference

Interface template. More...

#include <elementary/memcore/Interface.hpp>

Inheritance diagram for MemCore::Interface< Domain >:
MemCore::InterfaceBase MemCore::ReferenceBase< InterfaceBase >

Public Types

using InterfaceDomain_t = Domain
 Compile-time information about the type used for InterCube registration.
Public Types inherited from MemCore::ReferenceBase< InterfaceBase >
using reference_domain_t
 The type of the base class.
using SelfPtr_t
 Type for a pointer to this object itself.

Public Member Functions

const type_info & getInterfaceDomain () const
 Run-time information about the type used for InterCube registration.
Public Member Functions inherited from MemCore::InterfaceBase
virtual bool apply (Intercube &I, const RefPtr< InterfaceIterationParameter > &)
 modifyable callback function
virtual bool apply_const (const Intercube &I, const RefPtr< InterfaceIterationParameter > &)
 constant callback function
 InterfaceBase () throw ()
 Constructor.
Public Member Functions inherited from MemCore::ReferenceBase< InterfaceBase >
auto getObjectCountID () const noexcept
 Get a unique ID for this object in the given domain.
bool isIdentical (const WeakPtr< InterfaceBase, InterfaceBase > &PossibleSelf) const noexcept
 Check if this object is identical to the one used by the given pointer.
void mkAutoDestructive ()
 Marks this object as being automatically destructed, e.g.
refcount_t refcount () const noexcept
 The strong reference count.
 ReferenceBase (InterfaceBase *that) noexcept
 Constructor, initializes reference counter to zero.
const auto & self () const
 Return weak pointer to the object self.
refcount_t wrefcount () const noexcept
 The weak reference count.

Additional Inherited Members

Protected Member Functions inherited from MemCore::InterfaceBase
 ~InterfaceBase ()
 Destructor.
Protected Member Functions inherited from MemCore::ReferenceBase< InterfaceBase >
virtual void extremeUnction ()
 A virtual function that will be called just before the object is destroyed.
ReferenceBaseoperator= (const ReferenceBase &R)
 Protected assignment operator (should not be called).
void suicide ()
 Delete this.
virtual ~ReferenceBase ()
 Virtual destructor.

Detailed Description

template<class Domain>
class MemCore::Interface< Domain >

Interface template.

Possible interfaces must be derived from this class instantiated over an arbitrary type that works as an identifier. A certain InterCube may have only one interface object as derived from a specific Interface instantiation. Use the interface_cast<> to retrieve an interface from a given InterCube (or an object derived from an InterCube).