66 UbSchedule(
const double &step,
const double &begin = 0.0,
const double &end = ub_math::inf)
67 : step(step), begin(begin), end(end)
70 double getStep()
const {
return this->step; }
71 double getBegin()
const {
return this->begin; }
72 double getEnd()
const {
return this->end; }
77 std::stringstream
text;
90 double step, begin, end;
96 UbScheduler(
const double &step,
const double &begin = 0,
const double &end = ub_math::inf)
115 bool addSchedule(
const double &step,
const double &begin,
double end)
118 std::cerr <<
"UbScheduler::addSchedule - invalid Schedule:\n\t" <<
UbSchedule(step, begin, end)
135 std::cerr <<
"Warning: UbScheduler::addSchedule - "
136 <<
"end of schedule was adapted to intervall \n\t"
143 schedules.emplace_back(step, begin, end);
274 std::stringstream
text;
281 os <<
"UbScheduler\n";
282 os <<
"Schedule | start | end | intervall " << std::endl;
283 for (std::size_t
i = 0;
i < scheduler.
schedules.size();
i++)
284 os << std::setw(9) <<
i <<
"|" << std::setw(19) << scheduler.
schedules[
i].getBegin() <<
"|" << std::setw(19)
297 maxT = -ub_math::inf;
friend std::ostream & operator<<(std::ostream &os, const UbSchedule &schedule)
UbSchedule(const double &step, const double &begin=0.0, const double &end=ub_math::inf)
A class implements scheduling.
void addSchedule(const UbSchedule &schedule)
double getNextDueTime() const
virtual ~UbScheduler()=default
UbScheduler(const UbSchedule &schedule)
std::vector< UbSchedule > schedules
double getMaxDueTime() const
double getMinBegin() const
double getMaxBegin() const
double getMinStep() const
friend std::ostream & operator<<(std::ostream &os, const UbScheduler &scheduler)
bool hasSchedules() const
bool calcNextDueTimeForSchedule(const UbSchedule &schedule, const double &searchStart, double &nextDueTime)
double getMaxStep() const
bool addSchedule(const double &step, const double &begin, double end)
double getLastDueTime() const
std::string toString() const
bool isDue(const double &t)
UbScheduler(const double &step, const double &begin=0, const double &end=ub_math::inf)
std::shared_ptr< T > SPtr
MemComp< Ptr > membercomp(Ptr p)
bool greaterEqual(const T1 &value, const T2 &reference)
bool lessEqual(const T1 &value, const T2 &reference)
bool equal(const T1 &value, const T2 &reference)
bool greater(const T1 &value, const T2 &reference)
bool zero(const T &value)
bool less(const T1 &value, const T2 &reference)