4static_assert(std::endian::native == std::endian::little,
5 "The DAQEthHeader bitfield layout assumes little-endian architecture");
7static_assert(std::is_trivially_copyable_v<DAQEthHeader>,
8 "DAQEthHeader isn't trivially copyable and can't be safely std::memcpy'd");
9static_assert(std::is_standard_layout_v<DAQEthHeader>,
10 "DAQEthHeader isn't standard layout; reinterpret_cast and offsetof can't safely be used with it");
12static_assert(
sizeof(
DAQEthHeader) == 16,
"DAQEthHeader not the expected size");
13static_assert(offsetof(
DAQEthHeader, timestamp) == 8,
"timestamp field not at expected offset");
18 return o <<
"Version:" <<
static_cast<unsigned>(h.
version) <<
" DetID:" <<
static_cast<unsigned>(h.
det_id)
19 <<
" CrateID:" <<
static_cast<unsigned>(h.
crate_id) <<
" SlotID:" <<
static_cast<unsigned>(h.
slot_id)
20 <<
" StreamID:" <<
static_cast<unsigned>(h.
stream_id) <<
" SequenceID: " <<
static_cast<unsigned>(h.
seq_id)