21template<
typename DERIVED>
44 [[nodiscard]]
virtual DERIVED*
clone()
const;
79template<
typename DERIVED>
81 return new DERIVED(
static_cast<const DERIVED&
>(*
this));
Base class that defines a cloneable interface.
Definition cloneable.h:22
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:80
Concrete cloneable class with custom cloning behavior.
Definition cloneable.h:59
~cloneable() override=default
Virtual destructor for cloneable.
cloneable()=default
Default constructor for cloneable.
Platform-independent type definitions and compiler/platform detection.
Main namespace for the project Original.
Definition algorithms.h:21