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]

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 Send for Registry

impl Sync for Registry

impl Unpin for Registry

impl !UnwindSafe for Registry

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,