use pnets::{PlaceId, TransitionId};
use crate::modifications::Modification;
pub trait Reduce<Net> {
fn reduce(net: &mut Net, modifications: &mut Vec<Modification>);
}
pub trait ConservativeReduce<Net>: Reduce<Net> {}
#[allow(clippy::module_name_repetitions)]
pub trait PlaceReduce<Net>: Reduce<Net> {
fn place_reduce(net: &mut Net, pl: PlaceId, modifications: &mut Vec<Modification>);
}
#[allow(clippy::module_name_repetitions)]
pub trait TransitionReduce<Net>: Reduce<Net> {
fn transition_reduce(net: &mut Net, tr: TransitionId, modifications: &mut Vec<Modification>);
}