00001 #ifndef MULTIFUNCTION_H_ 00002 #define MULTIFUNCTION_H_ 00003 00004 #include <vector> 00005 00006 class Sym; 00007 class MultiFunctionImpl; 00008 00009 class MultiFunction { 00010 MultiFunction& operator=(const MultiFunction&); 00011 MultiFunction(const MultiFunction&); 00012 00013 MultiFunctionImpl* pimpl; 00014 00015 public: 00016 00017 MultiFunction(const std::vector<Sym>& pop); 00018 ~MultiFunction(); 00019 00020 void operator()(const std::vector<double>& x, std::vector<double>& y); 00021 void operator()(const double* x, double* y); 00022 00023 }; 00024 00025 #endif 00026