RTC Toolkit 6.0.0
Loading...
Searching...
No Matches
dataSampleView.hpp
Go to the documentation of this file.
1
11#ifndef RTCTK_TELSUB_DATASAMPLEVIEW_HPP
12#define RTCTK_TELSUB_DATASAMPLEVIEW_HPP
13#include <cstdint>
14#include <gsl/span>
15#include <map>
16#include <memory_resource>
17#include <taiclock/taiClock.hpp>
18#include <vector>
19
20namespace rtctk::telSub {
21
29 bool operator==(const DataSampleView& rhs) const noexcept {
30 return time_stamp == rhs.time_stamp && data == rhs.data;
31 }
32 bool operator!=(const DataSampleView& rhs) const noexcept {
33 return !(*this == rhs);
34 }
35
38 taiclock::TaiClock::time_point time_stamp;
42 gsl::span<const uint8_t> data;
43};
44
52 using Alloc = std::pmr::polymorphic_allocator<std::byte>;
53 explicit DataSamplesView(const Alloc& alloc = Alloc()) : samples(alloc) {
54 }
55
58 std::uint32_t sample_id{0};
63 std::pmr::map<std::string, DataSampleView> samples;
64
65 bool operator==(const DataSamplesView& rhs) const noexcept {
66 return sample_id == rhs.sample_id && samples == rhs.samples;
67 }
68 bool operator!=(const DataSamplesView& rhs) const noexcept {
69 return !(*this == rhs);
70 }
71};
72
73} // namespace rtctk::telSub
74
75#endif // RTCTK_TELSUB_DATASAMPLE_HPP
Definition main.cpp:23
Agnostic data sample non-owning reference type.
Definition dataSampleView.hpp:28
taiclock::TaiClock::time_point time_stamp
Time stamp of data sample.
Definition dataSampleView.hpp:38
bool operator!=(const DataSampleView &rhs) const noexcept
Definition dataSampleView.hpp:32
gsl::span< const uint8_t > data
Span containing the data.
Definition dataSampleView.hpp:42
bool operator==(const DataSampleView &rhs) const noexcept
Definition dataSampleView.hpp:29
DataSamplesView(const Alloc &alloc=Alloc())
Definition dataSampleView.hpp:53
std::pmr::map< std::string, DataSampleView > samples
Non-owned view of type-agnostic data samples with topic name as key as topics are specified in config...
Definition dataSampleView.hpp:63
bool operator!=(const DataSamplesView &rhs) const noexcept
Definition dataSampleView.hpp:68
std::pmr::polymorphic_allocator< std::byte > Alloc
Definition dataSampleView.hpp:52
bool operator==(const DataSamplesView &rhs) const noexcept
Definition dataSampleView.hpp:65
std::uint32_t sample_id
Sample id for all samples in DataSamplesView::samples.
Definition dataSampleView.hpp:58