The Vish Visualization Shell 0.3
Vish
MemCore::Provenance Struct Reference

Keeping track of provenance, where are objects created from? More...

#include <elementary/memcore/Provenance.hpp>

Inheritance diagram for MemCore::Provenance:
MemCore::ReferenceBase< Provenance >

Public Member Functions

string getPath (char sep='/') const
 Get the full length path.
string getPathWithoutRoot (char sep='/') const
 Get the path without its first entry.
string getRoot () const
 Get the topmost entry.
Public Member Functions inherited from MemCore::ReferenceBase< Provenance >
auto getObjectCountID () const noexcept
 Get a unique ID for this object in the given domain.
bool isIdentical (const WeakPtr< Provenance, Provenance > &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 (Provenance *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.

Public Attributes

RefPtr< Provenance, Provenance > Parent
 Only one parent is supported here in order to be able to determine a specific path.

Additional Inherited Members

Public Types inherited from MemCore::ReferenceBase< Provenance >
using reference_domain_t
 The type of the base class.
using SelfPtr_t
 Type for a pointer to this object itself.
Protected Member Functions inherited from MemCore::ReferenceBase< Provenance >
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

Keeping track of provenance, where are objects created from?

Member Data Documentation

◆ Parent

RefPtr<Provenance, Provenance> MemCore::Provenance::Parent

Only one parent is supported here in order to be able to determine a specific path.

Any object that may have multiple parents is welcome to specify so itself as having multiple provenances.

Referenced by getPath(), getPathWithoutRoot(), and getRoot().