From 0989a657c25476f2ab80448b094ef0dd5c9c0beb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sat, 8 May 2021 12:11:38 +0200 Subject: FRP: functions to retrieve and compare BhvTime --- include/erebos/frp.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'include/erebos') diff --git a/include/erebos/frp.h b/include/erebos/frp.h index b60b29f..466da33 100644 --- a/include/erebos/frp.h +++ b/include/erebos/frp.h @@ -17,15 +17,24 @@ using std::monostate; using std::optional; using std::shared_ptr; using std::static_pointer_cast; -using std::tuple; using std::vector; using std::weak_ptr; +class BhvCurTime; + class BhvTime { BhvTime(uint64_t t): t(t) {} - friend class BhvCurTime; + friend BhvCurTime; public: + BhvTime(const BhvCurTime &); + + bool operator==(const BhvTime & other) const { return t == other.t; } + bool operator!=(const BhvTime & other) const { return t != other.t; } + bool operator<(const BhvTime & other) const { return t < other.t; } + bool operator<=(const BhvTime & other) const { return t <= other.t; } + bool operator>(const BhvTime & other) const { return t > other.t; } + bool operator>=(const BhvTime & other) const { return t >= other.t; } private: uint64_t t; @@ -42,6 +51,8 @@ public: BhvCurTime & operator=(const BhvCurTime &) = delete; BhvCurTime & operator=(BhvCurTime &&); + BhvTime time() const { return t.value(); } + private: optional t; }; -- cgit v1.2.3