00001 #ifndef _ABSTRACT_FUNCTION_H_ 00002 #define _ABSTRACT_FUNCTION_H_ 00003 00004 namespace luma 00005 { 00006 namespace numbers 00007 { 00008 00013 template <class T> 00014 class AbstractFunction 00015 { 00016 public: 00023 virtual T operator()(const T input) const = 0; 00024 }; 00025 00026 }} 00027 00028 #endif //_ABSTRACT_FUNCTION_H_