BloombergLP::bblb::ScheduleGenerationUtil::generateFromDayOfMonth

Load month-day schedule dates into the specified schedule.

Synopsis

Declared in <bblb_schedulegenerationutil.h>

static
void
generateFromDayOfMonth(
    bsl::vector<bdlt::Date>* schedule,
    bdlt::Date const& earliest,
    bdlt::Date const& latest,
    int exampleYear,
    int exampleMonth,
    int intervalInMonths,
    int targetDayOfMonth,
    int targetDayOfFeb = 0);

Description

Load, into the specified schedule, the chronologically increasing sequence of unique dates that are on the specified targetDayOfMonth (or the last day of the month if targetDayOfMonth would be past the end of the month), integral multiples of the specified intervalInMonths away from the specified exampleYear and exampleMonth, and within the specified closed-interval `[earliest, latest]. Optionally specify targetDayOfFeb` to replace targetDayOfMonth whenever the month of a schedule entry is February. The behavior is undefined unless earliest <= latest, `1 <= exampleYear <= 9999, 1 <= exampleMonth <= 12, 1 <= intervalInMonths, 1 <= targetDayOfMonth <= 31, and 0 <= targetDayOfFeb <= 29`.

Parameters

NameDescription
schedulereceives the generated date sequence
earliestinclusive start of the date window
latestinclusive end of the date window
exampleYearreference year for the interval lattice
exampleMonthreference month for the interval lattice
intervalInMonthsspacing between schedule months
targetDayOfMonthdesired day of month (clamped to month length)
targetDayOfFeboptional February day override; 0 means unused