1#ifndef _RHEOLEF_FIELD_FUNCTOR_H
2#define _RHEOLEF_FIELD_FUNCTOR_H
30#include "rheolef/point.h"
82template <
class Function,
class Result>
84 : std::unary_function<point_basic<float_traits<Result> >,Result> {
85 const Function&
get_ref()
const {
return static_cast<const Function&
>(*this); }
86 operator Function()
const {
return get_ref(); }
93template <
class F,
class R>
94struct field_function_s : field_functor<field_function_s<F,R>, R> {
95 typedef typename float_traits<R>::type float_type;
96 R operator() (
const point_basic<float_type>& x)
const {
return _f.operator()(x); }
97 field_function_s(F
f) : _f(
f) {}
101field_function_s<std::function<F>,
typename F::result_type>
102field_function (F
f) {
103 typedef typename F::result_type R;
104 return field_function_s<function<F>,R>(function<F>(
f));
see the point page for the full documentation
This file is part of Rheolef.
Result operator()(const point &x) const
const Function & get_ref() const