Alexandria 2.31.0
SDC-CH common library for the Euclid project
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Euclid::MathUtils::NAryFunction< N > Interface Template Referenceabstract

Interface class representing a function with an arbitrary number of parameters. More...

#include <Function.h>

Inheritance diagram for Euclid::MathUtils::NAryFunction< N >:
Inheritance graph
[legend]
Collaboration diagram for Euclid::MathUtils::NAryFunction< N >:
Collaboration graph
[legend]

Public Member Functions

virtual std::unique_ptr< NAryFunctionclone () const =0
 

Detailed Description

template<std::size_t N>
interface Euclid::MathUtils::NAryFunction< N >

Interface class representing a function with an arbitrary number of parameters.

Template Parameters
NNumber of parameters

This class hides away NAryFunctionImpl, making easier to define a function with a given number of parameters: i.e. NAryFunction<5>

See also
Function For a detailed explanation of why clone() is defined here and not in NAryFunctionImpl

Definition at line 104 of file Function.h.

Member Function Documentation

◆ clone()

template<std::size_t N>
virtual std::unique_ptr< NAryFunction > Euclid::MathUtils::NAryFunction< N >::clone ( ) const
pure virtual

Creates a clone of the function object. All subclasses must implement this method, to enable copying of Function objects when only a reference to the Function class is available.

Returns
A copy of the Function object

Implemented in Euclid::MathUtils::FunctionAdapter, Euclid::MathUtils::Piecewise, Euclid::MathUtils::Polynomial, Euclid::MathUtils::DefaultMultiplication, Euclid::MathUtils::LinearInterpolator, and Euclid::MathUtils::CubicInterpolator.


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