Quick Links:

bal | bbl | bdl | bsl

Static Public Member Functions

bblb::ScheduleGenerationUtil Struct Reference

#include <bblb_schedulegenerationutil.h>

List of all members.

Static Public Member Functions

static void generateFromDayInterval (bsl::vector< bdlt::Date > *schedule, const bdlt::Date &earliest, const bdlt::Date &latest, const bdlt::Date &example, int intervalInDays)
static void generateFromDayInterval (std::vector< bdlt::Date > *schedule, const bdlt::Date &earliest, const bdlt::Date &latest, const bdlt::Date &example, int intervalInDays)
static void generateFromDayOfMonth (bsl::vector< bdlt::Date > *schedule, const bdlt::Date &earliest, const bdlt::Date &latest, int exampleYear, int exampleMonth, int intervalInMonths, int targetDayOfMonth, int targetDayOfFeb=0)
static void generateFromDayOfMonth (std::vector< bdlt::Date > *schedule, const bdlt::Date &earliest, const bdlt::Date &latest, int exampleYear, int exampleMonth, int intervalInMonths, int targetDayOfMonth, int targetDayOfFeb=0)
static void generateFromBusinessDayOfMonth (bsl::vector< bdlt::Date > *schedule, const bdlt::Date &earliest, const bdlt::Date &latest, int exampleYear, int exampleMonth, int intervalInMonths, const bdlt::Calendar &calendar, int targetBusinessDayOfMonth)
static void generateFromBusinessDayOfMonth (std::vector< bdlt::Date > *schedule, const bdlt::Date &earliest, const bdlt::Date &latest, int exampleYear, int exampleMonth, int intervalInMonths, const bdlt::Calendar &calendar, int targetBusinessDayOfMonth)
static void generateFromDayOfWeekAfterDayOfMonth (bsl::vector< bdlt::Date > *schedule, const bdlt::Date &earliest, const bdlt::Date &latest, int exampleYear, int exampleMonth, int intervalInMonths, bdlt::DayOfWeek::Enum dayOfWeek, int dayOfMonth)
static void generateFromDayOfWeekAfterDayOfMonth (std::vector< bdlt::Date > *schedule, const bdlt::Date &earliest, const bdlt::Date &latest, int exampleYear, int exampleMonth, int intervalInMonths, bdlt::DayOfWeek::Enum dayOfWeek, int dayOfMonth)
static void generateFromDayOfWeekInMonth (bsl::vector< bdlt::Date > *schedule, const bdlt::Date &earliest, const bdlt::Date &latest, int exampleYear, int exampleMonth, int intervalInMonths, bdlt::DayOfWeek::Enum dayOfWeek, int occurrenceWeek)
static void generateFromDayOfWeekInMonth (std::vector< bdlt::Date > *schedule, const bdlt::Date &earliest, const bdlt::Date &latest, int exampleYear, int exampleMonth, int intervalInMonths, bdlt::DayOfWeek::Enum dayOfWeek, int occurrenceWeek)

Detailed Description

This struct provides a namespace for utility functions that generate schedules.

See Component bblb_schedulegenerationutil


Member Function Documentation

static void bblb::ScheduleGenerationUtil::generateFromDayInterval ( bsl::vector< bdlt::Date > *  schedule,
const bdlt::Date earliest,
const bdlt::Date latest,
const bdlt::Date example,
int  intervalInDays 
) [static]
static void bblb::ScheduleGenerationUtil::generateFromDayInterval ( std::vector< bdlt::Date > *  schedule,
const bdlt::Date earliest,
const bdlt::Date latest,
const bdlt::Date example,
int  intervalInDays 
) [static]

Load, into the specified schedule, the chronologically increasing sequence of unique dates that are integral multiples of the specified intervalInDays away from the specified example date, and within the specified closed-interval [earliest, latest]. The behavior is undefined unless earliest <= latest and 1 <= intervalInDays.

static void bblb::ScheduleGenerationUtil::generateFromDayOfMonth ( bsl::vector< bdlt::Date > *  schedule,
const bdlt::Date earliest,
const bdlt::Date latest,
int  exampleYear,
int  exampleMonth,
int  intervalInMonths,
int  targetDayOfMonth,
int  targetDayOfFeb = 0 
) [static]
static void bblb::ScheduleGenerationUtil::generateFromDayOfMonth ( std::vector< bdlt::Date > *  schedule,
const bdlt::Date earliest,
const bdlt::Date latest,
int  exampleYear,
int  exampleMonth,
int  intervalInMonths,
int  targetDayOfMonth,
int  targetDayOfFeb = 0 
) [static]

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.

static void bblb::ScheduleGenerationUtil::generateFromBusinessDayOfMonth ( bsl::vector< bdlt::Date > *  schedule,
const bdlt::Date earliest,
const bdlt::Date latest,
int  exampleYear,
int  exampleMonth,
int  intervalInMonths,
const bdlt::Calendar calendar,
int  targetBusinessDayOfMonth 
) [static]
static void bblb::ScheduleGenerationUtil::generateFromBusinessDayOfMonth ( std::vector< bdlt::Date > *  schedule,
const bdlt::Date earliest,
const bdlt::Date latest,
int  exampleYear,
int  exampleMonth,
int  intervalInMonths,
const bdlt::Calendar calendar,
int  targetBusinessDayOfMonth 
) [static]

Load, into the specified schedule, the chronologically increasing sequence of unique dates that are on the specified targetBusinessDayOfMonth (or the highest count possible in the resulting month), integral multiples of the specified intervalInMonths away from the specified exampleYear and exampleMonth, and within the specified closed-interval [earliest, latest]. Business days, as per the specified calendar, are counted, if targetBusinessDayOfMonth is positive, from and including the chronologically earliest business day to chronologically later business days, and if targetBusinessDayOfMonth is negative, from and including the chronologically latest business day to chronologically earlier business days. If any of the months required for the schedule do not have a business day, return an empty schedule. The behavior is undefined unless earliest <= latest, 1 <= exampleYear <= 9999, 1 <= exampleMonth <= 12, 1 <= intervalInMonths, and 1 <= abs(targetBusinessDayOfMonth) <= 31.

static void bblb::ScheduleGenerationUtil::generateFromDayOfWeekAfterDayOfMonth ( bsl::vector< bdlt::Date > *  schedule,
const bdlt::Date earliest,
const bdlt::Date latest,
int  exampleYear,
int  exampleMonth,
int  intervalInMonths,
bdlt::DayOfWeek::Enum  dayOfWeek,
int  dayOfMonth 
) [static]
static void bblb::ScheduleGenerationUtil::generateFromDayOfWeekAfterDayOfMonth ( std::vector< bdlt::Date > *  schedule,
const bdlt::Date earliest,
const bdlt::Date latest,
int  exampleYear,
int  exampleMonth,
int  intervalInMonths,
bdlt::DayOfWeek::Enum  dayOfWeek,
int  dayOfMonth 
) [static]

Load, into the specified schedule, the chronologically increasing sequence of unique dates that are on the specified dayOfWeek on or after the specified dayOfMonth, integral multiples of the specified intervalInMonths away from the specified exampleYear and exampleMonth, and within the specified closed-interval [earliest, latest]. If any of the months required for the schedule have fewer than dayOfMonth days, return an empty schedule. The behavior is undefined unless earliest <= latest, 1 <= exampleYear <= 9999, 1 <= exampleMonth <= 12, 1 <= intervalInMonths, and 1 <= dayOfMonth <= 31.

static void bblb::ScheduleGenerationUtil::generateFromDayOfWeekInMonth ( bsl::vector< bdlt::Date > *  schedule,
const bdlt::Date earliest,
const bdlt::Date latest,
int  exampleYear,
int  exampleMonth,
int  intervalInMonths,
bdlt::DayOfWeek::Enum  dayOfWeek,
int  occurrenceWeek 
) [static]
static void bblb::ScheduleGenerationUtil::generateFromDayOfWeekInMonth ( std::vector< bdlt::Date > *  schedule,
const bdlt::Date earliest,
const bdlt::Date latest,
int  exampleYear,
int  exampleMonth,
int  intervalInMonths,
bdlt::DayOfWeek::Enum  dayOfWeek,
int  occurrenceWeek 
) [static]

Load, into the specified schedule, the chronologically increasing sequence of unique dates that are on the specified dayOfWeek of the specified occurrenceWeek of the month, integral multiples of the specified intervalInMonths away from the specified exampleYear and exampleMonth, and within the specified closed-interval [earliest, latest]. The behavior is undefined unless earliest <= latest, 1 <= exampleYear <= 9999, 1 <= exampleMonth <= 12, 1 <= intervalInMonths, and 1 <= occurrenceWeek <= 4.


The documentation for this struct was generated from the following file: