exponentialRate.hpp
Go to the documentation of this file.
1 #ifndef JULIAN_EXPONENTIALRATE_HPP
2 #define JULIAN_EXPONENTIALRATE_HPP
3 
5 
6 namespace julian {
7 
23  class ExponentialRate: public Compounding {
24  public:
25  ExponentialRate(){};
26 
27  virtual double getCapitalization(double interest_rate, double accrual_time) const;
28  virtual double getRate(double future_value, double accrual_time) const;
29  virtual std::string info() const;
30 
31  virtual ExponentialRate* clone() const;
32  virtual ~ExponentialRate(){};
33 
34  friend std::ostream& operator<<(std::ostream& s, ExponentialRate& c);
35  friend class boost::serialization::access;
36  private:
39  template<class Archive>
40  void serialize(Archive & , const unsigned int){
41  boost::serialization::base_object<Compounding>(*this);
42  }
43  };
44 }
45 #endif
virtual double getCapitalization(double interest_rate, double accrual_time) const
Calculates future value.
Definition: exponentialRate.cpp:25
void serialize(Archive &, const unsigned int)
interface used by Boost serialization library
Definition: exponentialRate.hpp:40
File contains interface of interest rate compounding concept.
Definition: cadHoliday.cpp:3
virtual ExponentialRate * clone() const
Virtual copy constructor.
Definition: exponentialRate.cpp:33
The class encapsulates the exponential rate compounding method.
Definition: exponentialRate.hpp:23
Class is an abstract class expressing the concept of compounding interest rate.
Definition: compounding.hpp:23
virtual double getRate(double future_value, double accrual_time) const
Calculates interest rate.
Definition: exponentialRate.cpp:14
friend std::ostream & operator<<(std::ostream &s, ExponentialRate &c)
Overloads stream operator.
Definition: exponentialRate.cpp:41
virtual std::string info() const
Info about class.
Definition: exponentialRate.cpp:50