17#include <fmt/format.h>
18#include <fmt/ranges.h>
47 std::vector<DoubleEdgeSignal>
left;
48 std::vector<DoubleEdgeSignal>
right;
55 std::unordered_map<unsigned int, R3B::MapBarSignal>
bars;
60 inline auto empty() const ->
bool {
return bars.empty(); };
74class fmt::formatter<
R3B::SingleEdgeSignal>
77 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
78 template <
typename FmtContent>
81 return format_to(ctn.out(),
"{{fine: {}, coarse: {} }}", signal.
fine, signal.
coarse);
86class fmt::formatter<
R3B::DoubleEdgeSignal>
89 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
90 template <
typename FmtContent>
93 return format_to(ctn.out(),
"{{leading: {}, trailing: {} }}", signal.
leading, signal.
trailing);
98class fmt::formatter<
R3B::MapBarSignal>
101 static constexpr auto parse(format_parse_context& ctx) {
return ctx.end(); }
102 template <
typename FmtContent>
106 ctn.out(),
"{{left: [{}], right: [{}] }}", fmt::join(signal.
left,
", "), fmt::join(signal.
left,
", "));
std::vector< R3B::PaddleTamexMappedData > R3BPaddleTamexMappedDataContainer
R3B::PaddleTamexMappedData R3BPaddleTamexMappedData2
std::map< unsigned int, R3B::PaddleTamexTrigMappedData > R3BPaddleTamexTrigDataContainer
R3B::PaddleTamexTrigMappedData R3BPaddleTamexTrigMappedData
SingleEdgeSignal trailing
std::vector< DoubleEdgeSignal > right
auto get(R3B::Side side) const -> const auto &
void push_back(R3B::Side side, const DoubleEdgeSignal &signal)
std::vector< DoubleEdgeSignal > left
void push_back(R3B::Side side, unsigned int barID, const R3B::DoubleEdgeSignal &signal)
PaddleTamexMappedData()=default
auto empty() const -> bool
std::unordered_map< unsigned int, R3B::MapBarSignal > bars
R3B::SingleEdgeSignal signal