Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
ICloneable< Derived > Class Template Referenceabstract

Interface for objects that can be cloned. More...

#include <src/utils/icloneable.h>

Public Member Functions

template<typename... Args>
std::unique_ptr< Derived > clone_unique (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 
template<typename... Args>
std::shared_ptr< Derived > clone_shared (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 
template<typename... Args>
Derived * clone_raw_ptr (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 
template<typename... Args>
Derived * clone_qobject (QObject *parent, ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 
template<typename... Args>
QScopedPointer< Derived > clone_unique_qobject (QObject *parent, ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 

Data Fields

friend Derived
 

Detailed Description

template<typename Derived>
class ICloneable< Derived >

Interface for objects that can be cloned.

Clones are mainly used for serialization, so inheriting classes are only expected to copy serializable members.

Note
Throws ZrythmException if cloning fails.

Definition at line 57 of file icloneable.h.


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