Skip to content

Commit

Permalink
Prevent an access violation when an empty date vector is passed.
Browse files Browse the repository at this point in the history
  • Loading branch information
lballabio committed Jul 21, 2013
1 parent 9596b6c commit 47422d1
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 16 deletions.
6 changes: 3 additions & 3 deletions ql/termstructures/credit/interpolateddefaultdensitycurve.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ namespace QuantLib {
const std::vector<Handle<Quote> >& jumps,
const std::vector<Date>& jumpDates,
const T& interpolator)
: DefaultDensityStructure(dates.front(), calendar, dayCounter, jumps, jumpDates),
: DefaultDensityStructure(dates.at(0), calendar, dayCounter, jumps, jumpDates),
InterpolatedCurve<T>(std::vector<Time>(), densities, interpolator),
dates_(dates)
{
Expand All @@ -227,7 +227,7 @@ namespace QuantLib {
const DayCounter& dayCounter,
const Calendar& calendar,
const T& interpolator)
: DefaultDensityStructure(dates.front(), calendar, dayCounter),
: DefaultDensityStructure(dates.at(0), calendar, dayCounter),
InterpolatedCurve<T>(std::vector<Time>(), densities, interpolator),
dates_(dates)
{
Expand All @@ -240,7 +240,7 @@ namespace QuantLib {
const std::vector<Real>& densities,
const DayCounter& dayCounter,
const T& interpolator)
: DefaultDensityStructure(dates.front(), Calendar(), dayCounter),
: DefaultDensityStructure(dates.at(0), Calendar(), dayCounter),
InterpolatedCurve<T>(std::vector<Time>(), densities, interpolator),
dates_(dates)
{
Expand Down
6 changes: 3 additions & 3 deletions ql/termstructures/credit/interpolatedhazardratecurve.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ namespace QuantLib {
const std::vector<Handle<Quote> >& jumps,
const std::vector<Date>& jumpDates,
const T& interpolator)
: HazardRateStructure(dates.front(), calendar, dayCounter, jumps, jumpDates),
: HazardRateStructure(dates.at(0), calendar, dayCounter, jumps, jumpDates),
InterpolatedCurve<T>(std::vector<Time>(), hazardRates, interpolator),
dates_(dates)
{
Expand All @@ -225,7 +225,7 @@ namespace QuantLib {
const DayCounter& dayCounter,
const Calendar& calendar,
const T& interpolator)
: HazardRateStructure(dates.front(), calendar, dayCounter),
: HazardRateStructure(dates.at(0), calendar, dayCounter),
InterpolatedCurve<T>(std::vector<Time>(), hazardRates, interpolator),
dates_(dates)
{
Expand All @@ -238,7 +238,7 @@ namespace QuantLib {
const std::vector<Rate>& hazardRates,
const DayCounter& dayCounter,
const T& interpolator)
: HazardRateStructure(dates.front(), Calendar(), dayCounter),
: HazardRateStructure(dates.at(0), Calendar(), dayCounter),
InterpolatedCurve<T>(std::vector<Time>(), hazardRates, interpolator),
dates_(dates)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ namespace QuantLib {
const std::vector<Handle<Quote> >& jumps,
const std::vector<Date>& jumpDates,
const T& interpolator)
: SurvivalProbabilityStructure(dates.front(), calendar, dayCounter, jumps, jumpDates),
: SurvivalProbabilityStructure(dates.at(0), calendar, dayCounter, jumps, jumpDates),
InterpolatedCurve<T>(std::vector<Time>(), probabilities, interpolator),
dates_(dates)
{
Expand Down
6 changes: 3 additions & 3 deletions ql/termstructures/yield/discountcurve.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ namespace QuantLib {
const std::vector<Handle<Quote> >& jumps,
const std::vector<Date>& jumpDates,
const T& interpolator)
: YieldTermStructure(dates.front(), calendar, dayCounter, jumps, jumpDates),
: YieldTermStructure(dates.at(0), calendar, dayCounter, jumps, jumpDates),
InterpolatedCurve<T>(std::vector<Time>(), discounts, interpolator),
dates_(dates)
{
Expand All @@ -218,7 +218,7 @@ namespace QuantLib {
const DayCounter& dayCounter,
const Calendar& calendar,
const T& interpolator)
: YieldTermStructure(dates.front(), calendar, dayCounter),
: YieldTermStructure(dates.at(0), calendar, dayCounter),
InterpolatedCurve<T>(std::vector<Time>(), discounts, interpolator),
dates_(dates)
{
Expand All @@ -231,7 +231,7 @@ namespace QuantLib {
const std::vector<DiscountFactor>& discounts,
const DayCounter& dayCounter,
const T& interpolator)
: YieldTermStructure(dates.front(), Calendar(), dayCounter),
: YieldTermStructure(dates.at(0), Calendar(), dayCounter),
InterpolatedCurve<T>(std::vector<Time>(), discounts, interpolator),
dates_(dates)
{
Expand Down
6 changes: 3 additions & 3 deletions ql/termstructures/yield/forwardcurve.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ namespace QuantLib {
const std::vector<Handle<Quote> >& jumps,
const std::vector<Date>& jumpDates,
const T& interpolator)
: ForwardRateStructure(dates.front(), calendar, dayCounter, jumps, jumpDates),
: ForwardRateStructure(dates.at(0), calendar, dayCounter, jumps, jumpDates),
InterpolatedCurve<T>(std::vector<Time>(), forwards, interpolator),
dates_(dates)
{
Expand All @@ -229,7 +229,7 @@ namespace QuantLib {
const DayCounter& dayCounter,
const Calendar& calendar,
const T& interpolator)
: ForwardRateStructure(dates.front(), calendar, dayCounter),
: ForwardRateStructure(dates.at(0), calendar, dayCounter),
InterpolatedCurve<T>(std::vector<Time>(), forwards, interpolator),
dates_(dates)
{
Expand All @@ -242,7 +242,7 @@ namespace QuantLib {
const std::vector<Rate>& forwards,
const DayCounter& dayCounter,
const T& interpolator)
: ForwardRateStructure(dates.front(), Calendar(), dayCounter),
: ForwardRateStructure(dates.at(0), Calendar(), dayCounter),
InterpolatedCurve<T>(std::vector<Time>(), forwards, interpolator),
dates_(dates)
{
Expand Down
6 changes: 3 additions & 3 deletions ql/termstructures/yield/zerocurve.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ namespace QuantLib {
const std::vector<Handle<Quote> >& jumps,
const std::vector<Date>& jumpDates,
const T& interpolator)
: ZeroYieldStructure(dates.front(), calendar, dayCounter, jumps, jumpDates),
: ZeroYieldStructure(dates.at(0), calendar, dayCounter, jumps, jumpDates),
InterpolatedCurve<T>(std::vector<Time>(), yields, interpolator),
dates_(dates)
{
Expand All @@ -213,7 +213,7 @@ namespace QuantLib {
const DayCounter& dayCounter,
const Calendar& calendar,
const T& interpolator)
: ZeroYieldStructure(dates.front(), calendar, dayCounter),
: ZeroYieldStructure(dates.at(0), calendar, dayCounter),
InterpolatedCurve<T>(std::vector<Time>(), yields, interpolator),
dates_(dates)
{
Expand All @@ -226,7 +226,7 @@ namespace QuantLib {
const std::vector<Rate>& yields,
const DayCounter& dayCounter,
const T& interpolator)
: ZeroYieldStructure(dates.front(), Calendar(), dayCounter),
: ZeroYieldStructure(dates.at(0), Calendar(), dayCounter),
InterpolatedCurve<T>(std::vector<Time>(), yields, interpolator),
dates_(dates)
{
Expand Down

0 comments on commit 47422d1

Please sign in to comment.