use super::*;
#[cfg(feature = "allocation-tracking")]
#[derive(Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub(crate) struct CountingAllocator;
#[derive(Clone, Copy, Data, Debug, Default, Eq, Hash, New, Ord, PartialEq, PartialOrd)]
#[new(pub(crate))]
pub(crate) struct AllocationStats {
#[get(pub(crate), type(copy))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) calls: u64,
#[get(pub(crate), type(copy))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) reallocations: u64,
#[get(pub(crate), type(copy))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) allocated: u64,
#[get(pub(crate), type(copy))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) freed: u64,
#[get(pub(crate), type(copy))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) live: u64,
#[get(pub(crate), type(copy))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) peak: u64,
}
#[derive(Clone, Copy, Debug, Eq, Getter, Hash, New, Ord, PartialEq, PartialOrd, Serialize)]
#[new(pub(crate))]
pub(crate) struct AllocationDelta {
#[get(pub(crate), type(copy))]
pub(crate) calls: u64,
#[get(pub(crate), type(copy))]
pub(crate) reallocations: u64,
#[get(pub(crate), type(copy))]
pub(crate) allocated_bytes: u64,
#[get(pub(crate), type(copy))]
pub(crate) freed_bytes: u64,
#[get(pub(crate), type(copy))]
pub(crate) live_delta_bytes: i64,
#[get(pub(crate), type(copy))]
pub(crate) peak_extra_bytes: u64,
}