1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
// Author:       Andreas F. Borchert
// Contributors: {}
// Description:  abstract class for monadic functions

#ifndef FUNCTION_HPP
#define FUNCTION_HPP

#include <string>

class Function {
   public:
      virtual ~Function() {};
      virtual const std::string& get_name() const = 0;
      virtual double execute(double x) const = 0;
}; // class Function

#endif