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());
Definition: Subscriber.h:102
PdCom Subscription interface.
Definition: Subscription.h:66
Transmission mode for subscriptions.
Definition: Subscriber.h:58
library version string as "major.minor.patch"
Definition: ClientStatistics.h:31
Definition: Exception.h:48
Tag for event-based subscription.
Definition: Subscriber.h:44
Tag for poll-based subscription.
Definition: Subscriber.h:48