interpolation.hpp
Go to the documentation of this file.
1 #ifndef JULIAN_INTERPOLATION_HPP
2 #define JULIAN_INTERPOLATION_HPP
3 
4 #include <vector>
5 #include <algorithm>
6 #include <string>
7 #include <boost/archive/xml_oarchive.hpp>
8 #include <boost/archive/xml_iarchive.hpp>
9 #include <boost/archive/text_oarchive.hpp>
10 #include <boost/archive/text_iarchive.hpp>
11 
12 namespace julian {
13 
29  class Interpolation {
30  public:
37 
44  virtual double operator()(const std::vector<double>& x,const std::vector<double>& y,const double& x_int) const = 0;
45 
50  virtual Interpolation* clone() const = 0;
51 
56  virtual std::string info() const = 0;
57 
60  virtual unsigned int getMinSize() const = 0;
61 
66  virtual ~Interpolation(){};
67  friend class boost::serialization::access;
68  private:
71  template<class Archive>
72  void serialize(Archive & , const unsigned int) {
73  }
74  };
75 } // namespace julian
76 #endif
virtual double operator()(const std::vector< double > &x, const std::vector< double > &y, const double &x_int) const =0
Operator performing calculation.
Interpolation()
Constructor.
Definition: interpolation.hpp:36
virtual unsigned int getMinSize() const =0
return the minimum number of points required by the interpolation
Definition: cadHoliday.cpp:3
virtual Interpolation * clone() const =0
Virtual copy constructor.
void serialize(Archive &, const unsigned int)
interface used by Boost serialization library
Definition: interpolation.hpp:72
Class is an abstract type expressing the concept of interpolation.
Definition: interpolation.hpp:29
virtual ~Interpolation()
Destructor.
Definition: interpolation.hpp:66
virtual std::string info() const =0
Info about class.