[][src]Struct sim::mechanics::queue::Queue

pub struct Queue {
    pub id: Traversable,
    pub cars: VecDeque<CarID>,
    pub laggy_head: Option<CarID>,
    pub geom_len: Distance,
    pub reserved_length: Distance,
}

Fields

id: Traversablecars: VecDeque<CarID>laggy_head: Option<CarID>geom_len: Distancereserved_length: Distance

Implementations

impl Queue[src]

pub fn new(id: Traversable, map: &Map) -> Queue[src]

pub fn get_car_positions(
    &self,
    now: Time,
    cars: &BTreeMap<CarID, Car>,
    queues: &BTreeMap<Traversable, Queue>
) -> Vec<(CarID, Distance)>
[src]

fn inner_get_car_positions(
    &self,
    now: Time,
    cars: &BTreeMap<CarID, Car>,
    queues: &BTreeMap<Traversable, Queue>,
    recursed_queues: &mut BTreeSet<Traversable>
) -> Vec<(CarID, Distance)>
[src]

pub fn get_idx_to_insert_car(
    &self,
    start_dist: Distance,
    vehicle_len: Distance,
    now: Time,
    cars: &BTreeMap<CarID, Car>,
    queues: &BTreeMap<Traversable, Queue>
) -> Option<usize>
[src]

pub fn try_to_reserve_entry(&mut self, car: &Car, force_entry: bool) -> bool[src]

pub fn room_for_car(&self, car: &Car) -> bool[src]

pub fn free_reserved_space(&mut self, car: &Car)[src]

pub fn target_lane_penalty(&self) -> (usize, usize)[src]

Trait Implementations

impl Clone for Queue[src]

impl<'de> Deserialize<'de> for Queue[src]

impl PartialEq<Queue> for Queue[src]

impl Serialize for Queue[src]

impl StructuralPartialEq for Queue[src]

Auto Trait Implementations

impl RefUnwindSafe for Queue

impl Send for Queue

impl Sync for Queue

impl Unpin for Queue

impl UnwindSafe for Queue

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> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> Downcast for T where
    T: Any

impl<T> DowncastSync for T where
    T: Send + Sync + Any

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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>,