Rodin::Copyable class

Abstract base class for objects that can be copied.

This class defines an interface for polymorphic copying of objects. Classes that inherit from this interface must implement the copy() method to provide deep copying functionality.

Derived classes

template<class LinearSystem>
class SolverBase
Abstract base class for linear algebra solvers.
template<class LinearSystem>
class SolverBase
Abstract base class for linear algebra solvers.
template<class LinearSystem>
class SolverBase
Abstract base class for linear algebra solvers.
class Base
Base class for all objects in Rodin's FormLanguage system.
class PolytopeTransformation
Represents the transformation function of a simplex, taking reference coordinates to physical coordinates.
class QuadratureFormulaBase
Abstract base class for quadrature formulas.
template<class LinearSystem>
class SolverBase
Abstract base class for linear algebra solvers.

Constructors, destructors, conversion operators

~Copyable() defaulted virtual
Virtual destructor for proper cleanup of derived classes.

Public functions

auto copy() const -> Copyable* pure virtual noexcept
Creates a polymorphic copy of this object.

Function documentation

Copyable* Rodin::Copyable::copy() const pure virtual noexcept

Creates a polymorphic copy of this object.

Returns Pointer to a new instance that is a copy of this object. The caller is responsible for memory management.