Struct vrp_core::models::solution::Registry [−][src]
pub struct Registry { /* fields omitted */ }Specifies an entity responsible for providing actors and keeping track of their usage.
Implementations
impl Registry[src]
impl Registry[src]pub fn new(fleet: &Fleet, random: Arc<dyn Random + Send + Sync>) -> Self[src]
Creates a new instance of Registry
pub fn use_actor(&mut self, actor: &Arc<Actor>) -> bool[src]
Removes an actor from the list of available actors. Returns whether the actor was present in the registry.
pub fn free_actor(&mut self, actor: &Arc<Actor>) -> bool[src]
Adds actor to the list of available actors. Returns whether the actor was not present in the registry.
pub fn all(&self) -> impl Iterator<Item = Arc<Actor>> + '_[src]
Returns all actors.
pub fn available(&self) -> impl Iterator<Item = Arc<Actor>> + '_[src]
Returns list of all available actors.
pub fn next(&self) -> impl Iterator<Item = Arc<Actor>> + '_[src]
Returns next available actors from each different type.
pub fn deep_copy(&self) -> Self[src]
Creates a deep copy of registry.
pub fn deep_slice(&self, filter: impl Fn(&Actor) -> bool) -> Self[src]
Creates a deep sliced copy of registry keeping only specific actors.
Auto Trait Implementations
impl !RefUnwindSafe for Registry
impl !RefUnwindSafe for Registryimpl !UnwindSafe for Registry
impl !UnwindSafe for Registry