Struct sim::mechanics::parking::InfiniteParkingSimState[][src]

pub struct InfiniteParkingSimState {
    parked_cars: BTreeMap<CarID, ParkedCar>,
    occupants: BTreeMap<ParkingSpot, CarID>,
    reserved_spots: BTreeMap<ParkingSpot, CarID>,
    driving_to_offstreet: MultiMap<LaneID, (BuildingID, Distance)>,
    blackholed_building_redirects: BTreeMap<BuildingID, BuildingID>,
    num_occupants_per_offstreet: BTreeMap<BuildingID, usize>,
    events: Vec<Event>,
}

This assigns infinite private parking to all buildings and none anywhere else. This effectively disables the simulation of parking entirely, making driving trips just go directly between buildings. Useful for maps without good parking data (which is currently all of them) and experiments where parking contention skews results and just gets in the way.

Fields

parked_cars: BTreeMap<CarID, ParkedCar>occupants: BTreeMap<ParkingSpot, CarID>reserved_spots: BTreeMap<ParkingSpot, CarID>driving_to_offstreet: MultiMap<LaneID, (BuildingID, Distance)>blackholed_building_redirects: BTreeMap<BuildingID, BuildingID>num_occupants_per_offstreet: BTreeMap<BuildingID, usize>events: Vec<Event>

Implementations

impl InfiniteParkingSimState[src]

fn new(map: &Map) -> InfiniteParkingSimState[src]

fn get_free_bldg_spot(&self, b: BuildingID) -> ParkingSpot[src]

Trait Implementations

impl Clone for InfiniteParkingSimState[src]

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

impl From<InfiniteParkingSimState> for ParkingSimState[src]

impl ParkingSim for InfiniteParkingSimState[src]

impl Serialize for InfiniteParkingSimState[src]

impl TryInto<InfiniteParkingSimState> for ParkingSimState[src]

type Error = &'static str

The type returned in the event of a conversion error.

Auto Trait Implementations

impl RefUnwindSafe for InfiniteParkingSimState

impl Send for InfiniteParkingSimState

impl Sync for InfiniteParkingSimState

impl Unpin for InfiniteParkingSimState

impl UnwindSafe for InfiniteParkingSimState

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: Any + Send + Sync

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

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