36 lines
1020 B
C++
36 lines
1020 B
C++
|
|
#ifndef DATE_TIME_GENERATOR_H
|
||
|
|
#define DATE_TIME_GENERATOR_H
|
||
|
|
|
||
|
|
#include "range_limiter.h"
|
||
|
|
#include <QDateTime>
|
||
|
|
|
||
|
|
class DateTimeGenerator : public virtual RangeLimiter {
|
||
|
|
private:
|
||
|
|
QPair<qint64, qint64> dayRange_;
|
||
|
|
QPair<QTime, QTime> timeRange_;
|
||
|
|
|
||
|
|
public:
|
||
|
|
DateTimeGenerator(const QPair<qint64, qint64> &dayRange,
|
||
|
|
const QPair<QTime, QTime> &timeRange);
|
||
|
|
|
||
|
|
QDateTime generate(const QDateTime &lowerBoundInclusive,
|
||
|
|
const QDateTime &upperBoundInclusive);
|
||
|
|
QDateTime generate(const QDateTime &upperBoundInclusive);
|
||
|
|
|
||
|
|
inline void setDayRange(const QPair<qint64, qint64> &dayRange);
|
||
|
|
inline void setTimeRange(const QPair<QTime, QTime> &timeRange);
|
||
|
|
inline void setUpperBoundInclusive(const QDateTime &upperBoundInclusive);
|
||
|
|
};
|
||
|
|
|
||
|
|
inline void
|
||
|
|
DateTimeGenerator::setDayRange(const QPair<qint64, qint64> &dayRange) {
|
||
|
|
dayRange_ = dayRange;
|
||
|
|
}
|
||
|
|
|
||
|
|
inline void
|
||
|
|
DateTimeGenerator::setTimeRange(const QPair<QTime, QTime> &timeRange) {
|
||
|
|
timeRange_ = timeRange;
|
||
|
|
}
|
||
|
|
|
||
|
|
#endif // DATE_TIME_GENERATOR_H
|