irCurveInterpolator.hpp
Go to the documentation of this file.
1 #ifndef JULIAN_IRCURVEINTERPOLATOR_HPP
2 #define JULIAN_IRCURVEINTERPOLATOR_HPP
3 
4 #include <dates/_all_dates.hpp>
5 #include <vector>
8 
9 namespace julian {
10  namespace ir {
11 
25  class Interpolator {
26  public:
27  Interpolator(){};
28 
31  virtual double operator()(const Calendar&, const InterestRate&, const Date&,
32  const std::vector<Date>&, const std::vector<double>&, const Date&) const = 0;
33 
36  virtual Interpolator* clone() const = 0;
37 
40  virtual ~Interpolator(){};
41 
44  virtual std::string info() const =0;
45  friend class boost::serialization::access;
46  private:
47 
50  template<class Archive>
51  void serialize(Archive & , const unsigned int) {
52  }
53  };
54  }
55 }
56 #endif
Contains headers of all files with definitions of classes gathered in dates calendar and holidays mod...
Definition: cadHoliday.cpp:3
Class implements calendar object.
Definition: calendar.hpp:30
virtual double operator()(const Calendar &, const InterestRate &, const Date &, const std::vector< Date > &, const std::vector< double > &, const Date &) const =0
interpolates curve for a given date
void serialize(Archive &, const unsigned int)
interface used by Boost serialization library
Definition: irCurveInterpolator.hpp:51
File contains the definition of calendar class.
virtual std::string info() const =0
returns name of a class
Class implements a date object.
Definition: date.hpp:27
The class implements the concept of interest rate.
Definition: interestRate.hpp:25
virtual Interpolator * clone() const =0
virtual copy constructor
File contains definition of InterestRate class.
virtual ~Interpolator()
destructor
Definition: irCurveInterpolator.hpp:40
Class implements the interface of interest rate curve interpolator.
Definition: irCurveInterpolator.hpp:25