12 #ifndef ECL_GEOMETRY_SPLINE_FUNCTION_HPP_    13 #define ECL_GEOMETRY_SPLINE_FUNCTION_HPP_    19 #include <ecl/config/macros.hpp>    20 #include <ecl/containers/array.hpp>    21 #include <ecl/exceptions/standard_exception.hpp>    41                 virtual ~GenericSplineFunction() {};
    47         virtual double operator()(
const double &x) 
const = 0;
    53         virtual double derivative(
const double &x) 
const = 0;
    59         virtual double dderivative(
const double &x) 
const = 0;
    68         const Array<double,2>& domain() { 
return time_domain; }
    71         Array<double,2> time_domain;
    87 template <
typename Function>
    88 class ECL_PUBLIC SplineFunction : 
public GenericSplineFunction {
    99         SplineFunction (
const double& time_begin, 
const double& time_end, 
const Function& f) : function(f) {
   100             time_domain << time_begin, time_end;
   102         virtual ~SplineFunction() {};
   123             return function.derivative(x);
   134             return function.dderivative(x);
 
#define LOC
Stringify the line of code you are at. 
#define ecl_assert_throw(expression, exception)
Debug mode throw with a logical condition check. 
#define ecl_assert_throw_decl(exception)
Assure throw exception declaration.