Struct vrp_core::models::solution::Registry[][src]

pub struct Registry { /* fields omitted */ }
Expand description

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]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

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

pub fn vzip(self) -> V