Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
zrythm::utils::InitializableObject< Derived > Class Template Reference

A factory class for creating initializable objects using static polymorphism. More...

#include <src/utils/initializable_object.h>

Public Member Functions

 Z_DISABLE_COPY_MOVE (InitializableObject)
 

Static Public Member Functions

template<typename... Args>
static std::shared_ptr< Derived > create_shared (Args &&... args)
 Creates a shared pointer to initialized object.
 
template<typename... Args>
static std::unique_ptr< Derived > create_unique (Args &&... args)
 Creates a unique pointer to initialized object.
 

Protected Member Functions

 InitializableObject ()=default
 Protected constructor to prevent instantiation.
 

Detailed Description

template<typename Derived>
class zrythm::utils::InitializableObject< Derived >

A factory class for creating initializable objects using static polymorphism.

Definition at line 26 of file initializable_object.h.

Member Function Documentation

◆ create_shared()

template<typename Derived>
template<typename... Args>
static std::shared_ptr< Derived > zrythm::utils::InitializableObject< Derived >::create_shared ( Args &&... args)
inlinestatic

Creates a shared pointer to initialized object.

Definition at line 35 of file initializable_object.h.

◆ create_unique()

template<typename Derived>
template<typename... Args>
static std::unique_ptr< Derived > zrythm::utils::InitializableObject< Derived >::create_unique ( Args &&... args)
inlinestatic

Creates a unique pointer to initialized object.

Definition at line 44 of file initializable_object.h.


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