Lumiera  0.pre.03
»edit your freedom«
AutoRegistered< TAR > Class Template Reference

#include "lib/element-tracker.hpp"

Description

template<typename TAR>
class lib::AutoRegistered< TAR >

Helper mixin template for implementing a type intended to participate in automatic element tracking.

  • the element-tracking registry is accessed through the static functor getRegistry
  • a factory and a detach operation is provided, automatically handling registration. It is not mandatory to use this template, but types participating in automatic element tracking should provide equivalent functionality.

Definition at line 163 of file element-tracker.hpp.

Public Types

typedef P< TAR > PTarget
 
typedef lib::ElementTracker< TAR > Registry
 
typedef lib::OptionalRef< RegistryRegistryLink
 

Public Member Functions

void detach ()
 detach this element from the element-tracking registry. More...
 

Static Public Member Functions

static PTarget create ()
 factory for creating smart-ptr managed TAR instances, automatically registered with the element-tracking registry.
 
static void deactivateRegistryLink ()
 
static bool is_attached_to (Registry const &someRegistry)
 
static void setRegistryInstance (Registry &registry_to_use)
 

Static Protected Attributes

static RegistryLink getRegistry
 storage for the functor to link an AutoRegistered entity to the corresponding registration service
 

Member Function Documentation

◆ detach()

void detach ( )
inline

detach this element from the element-tracking registry.

Note
called when destroying an non-empty registry.

Definition at line 174 of file element-tracker.hpp.

Referenced by Sequence::unlink(), and Timeline::unlink().

+ Here is the caller graph for this function:
+ Inheritance diagram for AutoRegistered< TAR >:
+ Collaboration diagram for AutoRegistered< TAR >:

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