Zrythm v2.0.0-alpha.1
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
zrythm::utils::ObjectRegistry Class Reference

Concrete IObjectRegistry with QObject parent-child ownership and reference counting. More...

#include <src/utils/object_registry.h>

Inheritance diagram for zrythm::utils::ObjectRegistry:
Collaboration diagram for zrythm::utils::ObjectRegistry:

Public Member Functions

 ObjectRegistry (QObject *parent=nullptr)
utils::UuidIdentifiableBasefind_by_raw_uuid_or_throw (const QUuid &id) const
int ref_count (const QUuid &id) const
Public Member Functions inherited from zrythm::utils::IObjectRegistry
void register_object (UuidIdentifiableBase &obj)
void acquire_reference (const QUuid &id)
void release_reference (const QUuid &id)
UuidIdentifiableBasefind_by_raw_uuid (const QUuid &id) const
bool contains (const QUuid &id) const
template<typename T>
void for_each_matching (std::function< void(T &)> visitor) const
template<typename T>
size_t count_matching () const

Protected Member Functions

void delete_object_by_id (const QUuid &id)

Additional Inherited Members

Protected Types inherited from zrythm::utils::IObjectRegistry
using ObjectVisitor = std::function<void (UuidIdentifiableBase &)>

Detailed Description

Concrete IObjectRegistry with QObject parent-child ownership and reference counting.

Stores UUID-identifiable objects in a flat map. When an object's ref count drops to zero (via release_reference), the object is deleted.

Definition at line 19 of file object_registry.h.


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