Add some assinment operators to support assignment of tariff-time-ranges.
This commit is contained in:
parent
1b716c48d2
commit
c4e1d412a5
@ -4,20 +4,42 @@
|
||||
#include <QDateTime>
|
||||
|
||||
class ATBTime {
|
||||
QDateTime const m_end;
|
||||
static QDateTime const m_end;
|
||||
mutable QDateTime m_time;
|
||||
|
||||
public:
|
||||
explicit ATBTime();
|
||||
explicit ATBTime(int h, int m, int s = 0, int ms = 0);
|
||||
explicit ATBTime(QString const &time);
|
||||
explicit ATBTime(QTime const &time);
|
||||
|
||||
explicit ATBTime(ATBTime const &atbTime) {
|
||||
m_time = atbTime.m_time;
|
||||
}
|
||||
|
||||
ATBTime &operator=(ATBTime && atbTime) {
|
||||
m_time = std::move(atbTime.m_time);
|
||||
return *this;
|
||||
}
|
||||
|
||||
ATBTime &operator=(ATBTime const &atbTime) {
|
||||
m_time = atbTime.m_time;
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
int hour() const { return m_time.time().hour(); }
|
||||
int minute() const { return m_time.time().minute(); }
|
||||
int second() const { return m_time.time().second(); }
|
||||
int msec() const { return m_time.time().msec(); }
|
||||
|
||||
int secsTo(QTime t) const { return m_time.time().secsTo(t); }
|
||||
int secsTo(QString const &t) const {
|
||||
if (t == "24:00:00") {
|
||||
return m_time.secsTo(m_end);
|
||||
}
|
||||
return m_time.time().secsTo(QTime::fromString(t, Qt::ISODate));
|
||||
}
|
||||
|
||||
int msecsTo(QTime t) const { return m_time.time().msecsTo(t); }
|
||||
|
||||
bool setHMS(int h, int m, int s, int ms = 0);
|
||||
@ -48,10 +70,12 @@ public:
|
||||
friend bool operator!=(const ATBTime &lhs, const ATBTime &rhs) noexcept;
|
||||
friend bool operator<(const ATBTime &lhs, const ATBTime &rhs) noexcept;
|
||||
friend bool operator<=(const ATBTime &lhs, const ATBTime &rhs) noexcept;
|
||||
friend bool operator>=(const ATBTime &lhs, const ATBTime &rhs) noexcept;
|
||||
friend bool operator<(const ATBTime &lhs, const ATBTime &rhs) noexcept;
|
||||
friend bool operator>(const ATBTime &lhs, const ATBTime &rhs) noexcept;
|
||||
friend bool operator==(const ATBTime &lhs, const ATBTime &rhs) noexcept;
|
||||
friend QDataStream &operator<<(QDataStream &out, ATBTime time);
|
||||
friend QDataStream &operator<<(QDataStream &out, ATBTime const &time);
|
||||
friend QDebug &operator<<(QDebug &out, ATBTime const &time);
|
||||
friend QDataStream &operator>>(QDataStream &in, ATBTime &time);
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user