schedule.hpp
Go to the documentation of this file.
1 /* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 
3 /*
4  Copyright (C) 2011 Ferdinando Ametrano
5  Copyright (C) 2005 Aurelien Chanudet
6 
7  This file is part of QuantLib, a free-software/open-source library
8  for financial quantitative analysts and developers - http://quantlib.org/
9 
10  QuantLib is free software: you can redistribute it and/or modify it
11  under the terms of the QuantLib license. You should have received a
12  copy of the license along with this program; if not, please email
13  <quantlib-dev@lists.sf.net>. The license is also available online at
14  <http://quantlib.org/license.shtml>.
15 
16  This program is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
18  FOR A PARTICULAR PURPOSE. See the license for more details.
19 */
20 
21 #ifndef qla_schedule_hpp
22 #define qla_schedule_hpp
23 
24 #include <oh/libraryobject.hpp>
25 
26 #include <ql/time/businessdayconvention.hpp>
27 #include <ql/time/dategenerationrule.hpp>
28 
29 namespace QuantLib {
30  class Schedule;
31  class Date;
32  class Period;
33  class Calendar;
34 }
35 
36 namespace QuantLibAddin {
37 
38  class Schedule : public ObjectHandler::LibraryObject<QuantLib::Schedule> {
39  public:
40  Schedule(
41  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
42  const QuantLib::Date& effectiveDate,
43  const QuantLib::Date& terminationDate,
44  const QuantLib::Period& tenor,
45  const QuantLib::Calendar& calendar,
46  QuantLib::BusinessDayConvention convention,
47  QuantLib::BusinessDayConvention terminationDateConvention,
48  QuantLib::DateGeneration::Rule rule,
49  bool endOfMonth,
50  const QuantLib::Date& firstDate,
51  const QuantLib::Date& nextToLastDate,
52  bool permanent);
53  Schedule(
54  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
55  const std::vector<QuantLib::Date>& dates,
56  bool permanent);
57  Schedule(
58  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
59  const std::vector<QuantLib::Date>& dates,
60  const std::vector<bool>& isRegular,
61  const QuantLib::Period& tenor,
62  const QuantLib::Calendar& calendar,
63  QuantLib::BusinessDayConvention convention,
64  QuantLib::BusinessDayConvention terminationDateConvention,
65  QuantLib::DateGeneration::Rule rule,
66  bool endOfMonth,
67  bool permanent);
68  Schedule(
69  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
70  const boost::shared_ptr<QuantLib::Schedule>& originalSchedule,
71  const QuantLib::Date& truncationDate,
72  const bool returnDatesBefore,
73  bool permanent);
74  };
75 
76 }
77 
78 #endif
Schedule(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const QuantLib::Date &effectiveDate, const QuantLib::Date &terminationDate, const QuantLib::Period &tenor, const QuantLib::Calendar &calendar, QuantLib::BusinessDayConvention convention, QuantLib::BusinessDayConvention terminationDateConvention, QuantLib::DateGeneration::Rule rule, bool endOfMonth, const QuantLib::Date &firstDate, const QuantLib::Date &nextToLastDate, bool permanent)
Definition: abcd.hpp:38
Definition: abcd.hpp:30
Definition: schedule.hpp:38