20template<
typename DERIVED>
43 [[nodiscard]]
virtual DERIVED*
clone()
const;
78template<
typename DERIVED>
80 return new DERIVED(
static_cast<const DERIVED&
>(*
this));
Base class that defines a cloneable interface.
Definition cloneable.h:21
virtual ~baseCloneable()=default
Virtual destructor for baseCloneable.
baseCloneable()=default
Default constructor for baseCloneable.
virtual DERIVED * clone() const
Creates a clone of the current object.
Definition cloneable.h:79
Concrete cloneable class with custom cloning behavior.
Definition cloneable.h:58
~cloneable() override=default
Virtual destructor for cloneable.
cloneable()=default
Default constructor for cloneable.
Main namespace for the project Original.
Definition algorithms.h:21