Schedule Class Reference
Date and time calculations

Payment schedule. More...

`#include <ql/time/schedule.hpp>`

## Public Member Functions

Schedule (const std::vector< Date > &, const Calendar &calendar=NullCalendar(), const BusinessDayConvention convention=Unadjusted, boost::optional< BusinessDayConvention > terminationDateConvention=boost::none, const boost::optional< Period > tenor=boost::none, boost::optional< DateGeneration::Rule > rule=boost::none, boost::optional< bool > endOfMonth=boost::none, const std::vector< bool > &isRegular=std::vector< bool >(0))

| Schedule (Date effectiveDate, const Date &terminationDate, const Period &tenor, const Calendar &calendar, BusinessDayConvention convention, BusinessDayConvention terminationDateConvention, DateGeneration::Rule rule, bool endOfMonth, const Date &firstDate=Date(), const Date &nextToLastDate=Date())
Date access
Size | size () const
const Date & | operator[] (Size i) const
const Date & | at (Size i) const
const Date & | date (Size i) const
Date | previousDate (const Date &refDate) const
Date | nextDate (const Date &refDate) const
const std::vector< Date > & | dates () const
bool | hasIsRegular () const
bool | isRegular (Size i) const
const std::vector< bool > & | isRegular () const
Other inspectors
bool | empty () const
const Calendar & | calendar () const
const Date & | startDate () const
const Date & | endDate () const
bool | hasTenor () const
const Period & | tenor () const
BusinessDayConvention | businessDayConvention () const
bool | hasTerminationDateBusinessDayConvention () const
BusinessDayConvention | terminationDateBusinessDayConvention () const
bool | hasRule () const
DateGeneration::Rule | rule () const
bool | hasEndOfMonth () const
bool | endOfMonth () const
Utilities
Schedule | until (const Date &truncationDate) const
| truncated schedule

## Iterators

typedef std::vector< Date >::const_iterator | const_iterator
const_iterator | begin () const
const_iterator | end () const
const_iterator | lower_bound (const Date &d=Date()) const

## Detailed Description

Payment schedule.

Examples:
  BermudanSwaption.cpp, Bonds.cpp, CallableBonds.cpp, CDS.cpp, ConvertibleBonds.cpp, FittedBondCurve.cpp, Repo.cpp, and swapvaluation.cpp.

## Constructor & Destructor Documentation

## Schedule() [1/2]

Schedule | ( | const std::vector< Date > & | ,
|  | const Calendar & | calendar = `NullCalendar()`,
|  | const BusinessDayConvention | convention = `Unadjusted`,
|  | boost::optional< BusinessDayConvention > | terminationDateConvention = `boost::none`,
|  | const boost::optional< Period > | tenor = `boost::none`,
|  | boost::optional< DateGeneration::Rule > | rule = `boost::none`,
|  | boost::optional< bool > | endOfMonth = `boost::none`,
|  | const std::vector< bool > & | isRegular = `std::vector< bool >(0)`
| ) |  |

constructor that takes any list of dates, and optionally meta information that can be used by client classes. Note that neither the list of dates nor the meta information is checked for plausibility in any sense.

## Schedule() [2/2]

Schedule | ( | Date | effectiveDate,
|  | const Date & | terminationDate,
|  | const Period & | tenor,
|  | const Calendar & | calendar,
|  | BusinessDayConvention | convention,
|  | BusinessDayConvention | terminationDateConvention,
|  | DateGeneration::Rule | rule,
|  | bool | endOfMonth,
|  | const Date & | firstDate = `Date()`,
|  | const Date & | nextToLastDate = `Date()`
| ) |  |

rule based constructor