Registry::Entry< Parent > Class Template Referenceabstract

Pure virtual template base class of Registry::List<Parent>::Enter<Child> More...

#include <Registry.h>

Inheritance diagram for Registry::Entry< Parent >:
Reference::Able Reference::HeapTracked Registry::List< Parent >::Enter< Child > Registry::List< Parent >::Unary< Child, Argument >

Public Member Functions

Parent * get () const
 Return the pointer to the instance.
 Entry ()
 Null constructor.
virtual ~Entry ()
 Destructor deletes instance of Parent.
Public Member Functions inherited from Reference::Able
 Able ()
 Default constructor.
 Able (const Able &)
 Copy constructor.
Ableoperator= (const Able &)
 Assignment operator.
virtual ~Able ()
 Destructor.
unsigned get_reference_count () const
 Returns the number of references there are to this.
Public Member Functions inherited from Reference::HeapTracked
 HeapTracked ()
 Default constructor.
 HeapTracked (const HeapTracked &)
 Copy constructor.
HeapTrackedoperator= (const HeapTracked &)
 Assignment operator.
virtual ~HeapTracked ()
 Destructor.
bool __is_on_heap () const
 Return true if this instance is found in heap addresses.

Protected Member Functions

void register_child (Parent *_instance)
 Adds this instance to the Parent::Registry::List<Parent>
virtual Parent * create () const =0
 Return a pointer to a new instance of a Parent (or its children)
Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 Add the address of a reference to this object.
void __dereference (bool auto_delete=true) const
 Remove the address of a reference to this object.

Friends

class List< Parent >

Additional Inherited Members

Static Public Member Functions inherited from Reference::Able
static size_t get_instance_count ()
 Returns the current number instances in existence.
Static Public Member Functions inherited from Reference::HeapTracked
static void * operator new (size_t size, void *ptr=0)
 Records the addresses of new instances allocated on the heap.
static void operator delete (void *location, void *ptr)
 Placement delete overload to match the placement new overload.
static void operator delete (void *location)
 Regular delete overload.
static size_t get_heap_queue_size ()
 Return the number of heap addresses awaiting processing.

Detailed Description

template<class Parent>
class Registry::Entry< Parent >

Pure virtual template base class of Registry::List<Parent>::Enter<Child>

Member Function Documentation

◆ create()

template<class Parent>
virtual Parent * Registry::Entry< Parent >::create ( ) const
protectedpure virtual

Return a pointer to a new instance of a Parent (or its children)

Implemented in Registry::List< Parent >::Enter< Child >, and Registry::List< Parent >::Unary< Child, Argument >.


The documentation for this class was generated from the following file:

Generated using doxygen 1.14.0