The Vish Visualization Shell 0.3
Vish
Public Member Functions | Public Attributes | List of all members
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, ProvenanceParent
 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 = Provenance
 The type of the base class.
 
using SelfPtr_t = WeakPtr< Provenance, Provenance >
 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().