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>
|
#include <QDateTime>
|
||||||
|
|
||||||
class ATBTime {
|
class ATBTime {
|
||||||
QDateTime const m_end;
|
static QDateTime const m_end;
|
||||||
mutable QDateTime m_time;
|
mutable QDateTime m_time;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit ATBTime();
|
explicit ATBTime();
|
||||||
explicit ATBTime(int h, int m, int s = 0, int ms = 0);
|
explicit ATBTime(int h, int m, int s = 0, int ms = 0);
|
||||||
explicit ATBTime(QString const &time);
|
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 hour() const { return m_time.time().hour(); }
|
||||||
int minute() const { return m_time.time().minute(); }
|
int minute() const { return m_time.time().minute(); }
|
||||||
int second() const { return m_time.time().second(); }
|
int second() const { return m_time.time().second(); }
|
||||||
int msec() const { return m_time.time().msec(); }
|
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); }
|
int msecsTo(QTime t) const { return m_time.time().msecsTo(t); }
|
||||||
|
|
||||||
bool setHMS(int h, int m, int s, int ms = 0);
|
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 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);
|
friend QDataStream &operator>>(QDataStream &in, ATBTime &time);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user