4#ifndef DEFINITION_KEY_H
5#define DEFINITION_KEY_H
38 const std::size_t a =
static_cast<std::size_t
>(key.
canId);
39 const std::size_t b = key.
isExtended ? 1U : 0U;
40 return (a * 1315423911U) ^ b;
52 :
frame(frameKey),
name(std::move(signalName)) {
std::size_t operator()(const FrameKey &key) const
Hash the logical identity fields.
Stable frame identifier: normalized CAN ID and frame type.
FrameKey(std::uint32_t id, bool extended)
Create a key from a normalized identifier and frame type.
bool operator==(const FrameKey &other) const
Compare all logical identity fields.
Hasher for stable signal keys.
std::size_t operator()(const SignalKey &key) const
Hash the logical identity fields.
bool operator==(const SignalKey &other) const
Compare all logical identity fields.
SignalKey(FrameKey frameKey, std::string signalName)
Create a signal key from its frame identity and name.