26 #ifndef PDCOM5_SUBSCRIBER_H 27 #define PDCOM5_SUBSCRIBER_H 29 #include "pdcom5_export.h" 61 static constexpr
double checkInterval(
double d)
64 "period must be greater than zero")
69 constexpr
double getInterval()
const noexcept {
return interval_; }
70 template <
typename T,
typename R>
72 interval_(checkInterval(
73 std::chrono::duration_cast<std::chrono::duration<double>>(d)
80 return o.interval_ == interval_;
104 friend class impl::Subscription;
113 const Transmission &getTransmission()
const noexcept {
return td_; }
126 virtual void newValues(std::chrono::nanoseconds time_ns) = 0;
144 noexcept(__cplusplus >= 201703L)
146 return std::hash<double>()(t.getInterval());
151 #endif // PDCOM5_SUBSCRIBER_H
Tag for event-based subscription.
Definition: Subscriber.h:43
PdCom Subscription interface.
Definition: Subscription.h:65
Definition: Subscriber.h:101
library version string as "major.minor.patch"
Definition: ClientStatistics.h:31
Transmission mode for subscriptions.
Definition: Subscriber.h:57
Tag for poll-based subscription.
Definition: Subscriber.h:47
Definition: Exception.h:47