41template <std::copy_constructible T>
45 : m_value(std::move(value)), m_error(error), m_timestamp(timestamp) {}
47 template <std::invocable<T> F>
49 using U = std::invoke_result_t<F, T>;
50 return Signal<U>(f(m_value), m_error, m_timestamp);
53 T
Get()
const {
return m_value; }
55 T
Get(T defaultValue)
const {
return IsValid() ? m_value : defaultValue; }
64 uint64_t m_timestamp{0};
T Get(T defaultValue) const
Definition: Signal.h:55
bool IsValid() const
Definition: Signal.h:59
REVLibError GetError() const
Definition: Signal.h:58
auto Map(F &&f) const -> Signal< std::invoke_result_t< F, T > >
Definition: Signal.h:48
uint64_t GetTimestamp() const
Definition: Signal.h:57
Signal(T value, REVLibError error, uint64_t timestamp)
Definition: Signal.h:44
T Get() const
Definition: Signal.h:53
Definition: AbsoluteEncoder.h:33
REVLibError
Definition: REVLibError.h:33