use zerocopy::{FromBytes, Immutable, IntoBytes, KnownLayout};
use super::NAIFRecord;
#[derive(IntoBytes, Clone, Copy, Debug, Default, FromBytes, KnownLayout, Immutable)]
#[repr(C)]
pub struct SummaryRecord {
pub(crate) next_record: f64,
pub(crate) prev_record: f64,
pub(crate) num_summaries: f64,
}
impl NAIFRecord for SummaryRecord {}
impl SummaryRecord {
pub fn next_record(&self) -> usize {
self.next_record as usize
}
pub fn prev_record(&self) -> usize {
self.prev_record as usize
}
pub fn num_summaries(&self) -> usize {
self.num_summaries as usize
}
pub fn is_final_record(&self) -> bool {
self.next_record() == 0
}
}