4static_assert(std::is_trivially_copyable<TimeSliceHeader>::value,
5 "TimeSliceHeader isn't trivially copyable and can't be safely std::memcpy'd");
7static_assert(std::is_standard_layout<TimeSliceHeader>::value,
8 "TimeSliceHeader isn't standard layout; reinterpret_cast and offsetof can't safely be used with it");
10 "This is intentionally designed to tell the developer to update the static_assert checks (including this "
11 "one) when the version is bumped");
12static_assert(
sizeof(
TimeSliceHeader) == 32,
"TimeSliceHeader struct size different than expected!");
14 "TimeSliceHeader timeslice_header_marker field not at expected offset!");
15static_assert(offsetof(
TimeSliceHeader,
version) == 4,
"TimeSliceHeader version field not at expected offset!");
17 "TimeSliceHeader timeslice_number field not at expected offset!");
18static_assert(offsetof(
TimeSliceHeader, run_number) == 16,
"TimeSliceHeader run_number field not at expected offset!");
19static_assert(offsetof(
TimeSliceHeader, unused) == 20,
"TimeSliceHeader unused field not at expected offset!");
20static_assert(offsetof(
TimeSliceHeader, element_id) == 24,
"TimeSliceHeader source_id field not at expected offset!");
26 <<
"version: " << hdr.
version <<
", "