Copyable

Abstract base class for objects that can be copied.

Defined in Rodin/Copyable.h

class Copyable;

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.

Direct inheritance by class family
Copyable
↓

Derived classes

Derived classDescription
Solver::LinearSolverBase<…>public
Full type
Solver::LinearSolverBase< LinearSystemType >
Abstract base class for linear system solvers.
Solver::NewtonSolverBase<KSP>public
Full type
Solver::NewtonSolverBase< KSP >
Abstract base class for Newton-type nonlinear solvers.
FormLanguage::Basepublic
Full type
FormLanguage::Base
Base class for all objects in Rodin's FormLanguage system.
See moreSee less
Derived classDescription
Geometry::IndexGeneratorBasepublic
Full type
Geometry::IndexGeneratorBase
Abstract base class for index generators.
Geometry::PolytopeTransformationpublic
Full type
Geometry::PolytopeTransformation
Abstract base class for polytope geometric transformations.
Solver::LinearSolverBase<…>public
Full type
Solver::LinearSolverBase< Math::LinearSystem< Math::SparseMatrix< Scalar >, Math::Vector< Scalar > > >
Abstract base class for linear system solvers.
Solver::LinearSolverBase<…>public
Full type
Solver::LinearSolverBase< Math::LinearSystem< Math::Matrix< Scalar >, Math::Vector< Scalar > > >
Abstract base class for linear system solvers.
Solver::LinearSolverBase<…>public
Full type
Solver::LinearSolverBase< PETSc::Math::LinearSystem >
Abstract base class for linear system solvers.
Solver::LinearSolverBase<LinearSystem>public
Full type
Solver::LinearSolverBase< LinearSystem >
Abstract base class for linear system solvers.
Solver::NewtonSolverBase<…>public
Full type
Solver::NewtonSolverBase< ::Rodin::Solver::PartialPivLU< DenseLinearSystem > >
Abstract base class for Newton-type nonlinear solvers.
Solver::NewtonSolverBase<…>public
Full type
Solver::NewtonSolverBase< Rodin::Solver::PartialPivLU< Rodin::Math::LinearSystem< DenseMatrix, DenseVector > > >
Abstract base class for Newton-type nonlinear solvers.
Solver::NewtonSolverBase<LinearSolver>public
Full type
Solver::NewtonSolverBase< LinearSolver >
Abstract base class for Newton-type nonlinear 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* 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.