Helios++
Helios software for LiDAR simulations
Function.h
1 #pragma once
2 
3 namespace fluxionum{
4 
26 template <typename A, typename B>
27 class Function{
28 public:
29  // *** CONSTRUCTION / DESTRUCTION *** //
30  // ************************************ //
34  Function() = default;
35  virtual ~Function() = default;
36 
37  // *** FUNCTION METHODS *** //
38  // ************************** //
44  virtual B eval(A const &x) = 0;
45 
46  // *** FUNCTION OPERATORS *** //
47  // **************************** //
54  inline B operator()(A const &x) {return eval(x);}
55 
56 };
57 
58 }
Abstract class representing a function.
Definition: Function.h:27
B operator()(A const &x)
Evaluate the function .
Definition: Function.h:54
virtual B eval(A const &x)=0
Evaluate the function .