12#ifndef DECODE_DATABASE_H
13#define DECODE_DATABASE_H
17#include <unordered_map>
81 std::vector<DecodeSignal> signals;
105 , isExtended (
false) {
108 FrameKey (std::uint32_t
id,
bool extended)
110 , isExtended (extended) {
113 bool operator== (
const FrameKey &other)
const {
114 return (canId == other.canId) && (isExtended == other.isExtended);
122 std::size_t operator() (
const FrameKey &key)
const {
123 const std::size_t a =
static_cast<std::size_t
> (key.canId);
124 const std::size_t b = key.isExtended ? 1U : 0U;
125 return (a * 1315423911U) ^ b;
133 std::vector<DecodeFrame> frames;
134 std::unordered_map<FrameKey, std::size_t, FrameKeyHasher> frameIndexByKey;
ByteOrder
Signal byte order used for runtime decoding.
ValueType
Signal numeric type.
Runtime decode database with fast lookup by CAN ID.
Runtime-ready frame definition.
Runtime-ready signal definition.
std::vector< std::string > receivers
Key for fast frame lookup.