irCurveExtrapolator.hpp
Go to the documentation of this file.
1 #ifndef JULIAN_IRCURVEEXTRAPOLATOR_HPP
2 #define JULIAN_IRCURVEEXTRAPOLATOR_HPP
3 
4 #include <dates/_all_dates.hpp>
5 #include <vector>
8 
9 namespace julian {
10 namespace ir {
11 
24  class Extrapolator {
25  public:
26  Extrapolator(){};
27 
30  virtual double operator()(const Calendar&, const InterestRate&, const Date& , const std::vector<Date>&,const std::vector<double>&,const Date&) const = 0;
31 
34  virtual Extrapolator* clone() const = 0;
35 
38  virtual ~Extrapolator(){};
39 
42  virtual std::string info() const =0;
43  friend class boost::serialization::access;
44  private:
45 
48  template<class Archive>
49  void serialize(Archive & , const unsigned int) {
50  }
51  };
52 } // namespace ir
53 } // namesapce julian
54 #endif
virtual double operator()(const Calendar &, const InterestRate &, const Date &, const std::vector< Date > &, const std::vector< double > &, const Date &) const =0
extrapolates curve for a given date
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
void serialize(Archive &, const unsigned int)
interface used by Boost serialization library
Definition: irCurveExtrapolator.hpp:49
virtual ~Extrapolator()
destructor
Definition: irCurveExtrapolator.hpp:38
File contains the definition of calendar class.
virtual Extrapolator * clone() const =0
virtual copy constructor
Class implements a date object.
Definition: date.hpp:27
virtual std::string info() const =0
returns name of a class
The class implements the concept of interest rate.
Definition: interestRate.hpp:25
Class implements the interface of interest rate curve interpolator.
Definition: irCurveExtrapolator.hpp:24
File contains definition of InterestRate class.