Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/element-tracker.hpp"
Registry for tracking object instances.
Custom implementation of the RefArray interface, based on a vector. Especially used by the Session to keep track of all timelines and sequences. Typically, ELM will inherit from AutoRegistered<ELM>, which in turn will invoke the registration/deregistration. Because of the smart-ptr-from-this problem, removal takes a direct reference, as opposed to a smart-ptr.
Definition at line 81 of file element-tracker.hpp.
Public Member Functions | |
void | append (P< ELM > const &asset) |
void | clear () |
bool | isRegistered (ELM const &asset) const |
void | remove (ELM const &asset) |
Public Member Functions inherited from RefArrayVector< P< ELM > > | |
RefArrayVector (Size_t n, Val_t const &v=Val_t()) | |
RefArrayVector (Vect const &ref) | |
Public Member Functions inherited from RefArrayVectorWrapper< P< ELM >, P< ELM > > | |
RefArrayVectorWrapper (Tab toWrap) | |
virtual P< ELM > const & | operator[] (size_t i) const |
virtual size_t | size () const |
Public Member Functions inherited from RefArray< P< ELM > > | |
virtual | ~RefArray () |
this is an interface | |
Private Types | |
using | _Vec = std::vector< P< ELM > > |
using | CIter = typename _Vec::const_iterator |
using | Iter = typename _Vec::iterator |
Static Private Member Functions | |
static void | unlink_it (P< ELM > &elm) |