use derive_more::derive::Display;
use crate::pal::AbstractProcessor;
use crate::{EfficiencyClass, MemoryRegionId, ProcessorId};
#[derive(Clone, Copy, Debug, Display, Eq, Hash, PartialEq)]
#[display("ProcessorImpl({id})")]
pub(crate) struct ProcessorImpl {
id: ProcessorId,
}
impl ProcessorImpl {
pub(crate) fn new(id: ProcessorId) -> Self {
Self { id }
}
}
impl AbstractProcessor for ProcessorImpl {
fn id(&self) -> ProcessorId {
self.id
}
#[cfg_attr(test, mutants::skip)] fn memory_region_id(&self) -> MemoryRegionId {
0
}
fn efficiency_class(&self) -> EfficiencyClass {
EfficiencyClass::Performance
}
}