pub struct PetriNet {
pub name: String,
pub places: Vec<Place>,
pub transitions: Vec<Transition>,
pub arcs: Vec<Arc>,
pub initial_marking: HashMap<String, u32>,
pub final_marking: HashMap<String, u32>,
}Expand description
A Petri net process model.
Fields§
§name: StringModel name.
places: Vec<Place>Places.
transitions: Vec<Transition>Transitions.
arcs: Vec<Arc>Arcs.
initial_marking: HashMap<String, u32>Initial marking (place_id -> tokens).
final_marking: HashMap<String, u32>Final marking (place_id -> tokens).
Implementations§
Source§impl PetriNet
impl PetriNet
Sourcepub fn add_transition(&mut self, id: String, label: Option<String>)
pub fn add_transition(&mut self, id: String, label: Option<String>)
Add a transition.
Sourcepub fn enabled_transitions(
&self,
marking: &HashMap<String, u32>,
) -> Vec<&Transition>
pub fn enabled_transitions( &self, marking: &HashMap<String, u32>, ) -> Vec<&Transition>
Get enabled transitions for current marking.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PetriNet
impl RefUnwindSafe for PetriNet
impl Send for PetriNet
impl Sync for PetriNet
impl Unpin for PetriNet
impl UnwindSafe for PetriNet
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.