abstreet/rustdoc/sim/mechanics/driving/struct.DrivingSimState.html

67 lines
66 KiB
HTML
Raw Normal View History

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `DrivingSimState` struct in crate `sim`."><meta name="keywords" content="rust, rustlang, rust-lang, DrivingSimState"><title>sim::mechanics::driving::DrivingSimState - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script src="../../../storage.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../../sim/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class='location'>Struct DrivingSimState</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.cars">cars</a><a href="#structfield.events">events</a><a href="#structfield.handle_uber_turns">handle_uber_turns</a><a href="#structfield.queues">queues</a><a href="#structfield.recalc_lanechanging">recalc_lanechanging</a><a href="#structfield.time_to_park_offstreet">time_to_park_offstreet</a><a href="#structfield.time_to_park_onstreet">time_to_park_onstreet</a><a href="#structfield.time_to_unpark_offstreet">time_to_unpark_offstreet</a><a href="#structfield.time_to_unpark_onstreet">time_to_unpark_onstreet</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.agent_properties">agent_properties</a><a href="#method.all_waiting_people">all_waiting_people</a><a href="#method.collect_events">collect_events</a><a href="#method.debug_car">debug_car</a><a href="#method.debug_lane">debug_lane</a><a href="#method.debug_queue_lengths">debug_queue_lengths</a><a href="#method.delete_car">delete_car</a><a href="#method.delete_car_internal">delete_car_internal</a><a href="#method.does_car_exist">does_car_exist</a><a href="#method.find_blockage_front">find_blockage_front</a><a href="#method.find_trips_to_edited_parking">find_trips_to_edited_parking</a><a href="#method.find_vehicles_affected_by_live_edits">find_vehicles_affected_by_live_edits</a><a href="#method.get_all_draw_cars">get_all_draw_cars</a><a href="#method.get_all_driving_paths">get_all_driving_paths</a><a href="#method.get_draw_cars_on">get_draw_cars_on</a><a href="#method.get_owner_of_car">get_owner_of_car</a><a href="#method.get_path">get_path</a><a href="#method.get_single_draw_car">get_single_draw_car</a><a href="#method.get_unzoomed_agents">get_unzoomed_agents</a><a href="#method.handle_live_edits">handle_live_edits</a><a href="#method.new">new</a><a href="#method.percent_along_route">percent_along_route</a><a href="#method.start_car_on_lane">start_car_on_lane</a><a href="#method.target_lane_penalty">target_lane_penalty</a><a href="#method.trace_route">trace_route</a><a href="#method.trim_last_steps">trim_last_steps</a><a href="#method.update_car">update_car</a><a href="#method.update_car_with_distances">update_car_with_distances</a><a href="#method.update_car_without_distances">update_car_without_distances</a><a href="#method.update_laggy_head">update_laggy_head</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize&lt;&#39;de&gt;</a><a href="#impl-Serialize">Serialize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-Downcast">Downcast</a><a href="#impl-DowncastSync">DowncastSync</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-Same%3CT%3E">Same&
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#27-50' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='../../index.html'>sim</a>::<wbr><a href='../index.html'>mechanics</a>::<wbr><a href='index.html'>driving</a>::<wbr><a class="struct" href=''>DrivingSimState</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>pub struct DrivingSimState {
cars: <a class="struct" href="../../../abstutil/collections/struct.FixedMap.html" title="struct abstutil::collections::FixedMap">FixedMap</a>&lt;<a class="struct" href="../../../sim/struct.CarID.html" title="struct sim::CarID">CarID</a>, <a class="struct" href="../../../sim/mechanics/car/struct.Car.html" title="struct sim::mechanics::car::Car">Car</a>&gt;,
queues: <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a>&lt;<a class="enum" href="../../../map_model/traversable/enum.Traversable.html" title="enum map_model::traversable::Traversable">Traversable</a>, <a class="struct" href="../../../sim/mechanics/queue/struct.Queue.html" title="struct sim::mechanics::queue::Queue">Queue</a>&gt;,
events: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="../../../sim/events/enum.Event.html" title="enum sim::events::Event">Event</a>&gt;,
recalc_lanechanging: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
handle_uber_turns: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
time_to_unpark_onstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a>,
time_to_park_onstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a>,
time_to_unpark_offstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a>,
time_to_park_offstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a>,
}</pre></div><div class='docblock'><p>Simulates vehicles!</p>
</div><h2 id='fields' class='fields small-section-header'>
Fields<a href='#fields' class='anchor'></a></h2><span id="structfield.cars" class="structfield small-section-header"><a href="#structfield.cars" class="anchor field"></a><code>cars: <a class="struct" href="../../../abstutil/collections/struct.FixedMap.html" title="struct abstutil::collections::FixedMap">FixedMap</a>&lt;<a class="struct" href="../../../sim/struct.CarID.html" title="struct sim::CarID">CarID</a>, <a class="struct" href="../../../sim/mechanics/car/struct.Car.html" title="struct sim::mechanics::car::Car">Car</a>&gt;</code></span><span id="structfield.queues" class="structfield small-section-header"><a href="#structfield.queues" class="anchor field"></a><code>queues: <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a>&lt;<a class="enum" href="../../../map_model/traversable/enum.Traversable.html" title="enum map_model::traversable::Traversable">Traversable</a>, <a class="struct" href="../../../sim/mechanics/queue/struct.Queue.html" title="struct sim::mechanics::queue::Queue">Queue</a>&gt;</code></span><span id="structfield.events" class="structfield small-section-header"><a href="#structfield.events" class="anchor field"></a><code>events: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="../../../sim/events/enum.Event.html" title="enum sim::events::Event">Event</a>&gt;</code></span><span id="structfield.recalc_lanechanging" class="structfield small-section-header"><a href="#structfield.recalc_lanechanging" class="anchor field"></a><code>recalc_lanechanging: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></span><span id="structfield.handle_uber_turns" class="structfield small-section-header"><a href="#structfield.handle_uber_turns" class="anchor field"></a><code>handle_uber_turns: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></span><span id="structfield.time_to_unpark_onstreet" class="structfield small-section-header"><a href="#structfield.time_to_unpark_onstreet" class="anchor field"></a><code>time_to_unpark_onstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a></code></span><span id="structfield.time_to_park_onstreet" class="structfield small-section-header"><a href="#structfield.time_to_park_onstreet" class="anchor field"></a><code>time_to_park_onstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a></code></span><span id="structfield.time_to_unpark_offstreet" class="structfield small-section-header"><a href="#structfield.time_to_unpark_offstreet" class="anchor field"></a><code>time_to_unpark_offstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a></code></span><span id="structfield.time_to_park_offstreet" class="structfield small-section-header"><a href="#structfield.time_to_park_offstreet" class="anchor field"></a><code>time_to_park_offstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a></code></span><h2 id='implementations' class='small-section-header'>Implementations<a href='#implementations' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl <a class="struct" href="../../../sim/mechanics/driving/struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></code><a href='#impl' class='anchor'></a><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#52-1167' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.new' class="method"><code>pub fn <a href='#method.new' class='fnname'>new</a>(map: &amp;<a class="struct" href="../../../map_model/struct.Map.html"
</div><h4 id='method.update_car' class="method"><code>pub fn <a href='#method.update_car' class='fnname'>update_car</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;id: <a class="struct" href="../../../sim/struct.CarID.html" title="struct sim::CarID">CarID</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut <a class="struct" href="../../../sim/sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;trips: &amp;mut <a class="struct" href="../../../sim/trips/struct.TripManager.html" title="struct sim::trips::TripManager">TripManager</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;transit: &amp;mut <a class="struct" href="../../../sim/transit/struct.TransitSimState.html" title="struct sim::transit::TransitSimState">TransitSimState</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;walking: &amp;mut <a class="struct" href="../../../sim/mechanics/walking/struct.WalkingSimState.html" title="struct sim::mechanics::walking::WalkingSimState">WalkingSimState</a><br>)</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#205-253' title='goto source code'>[src]</a></h4><div class='docblock'><p>State transitions for this car:</p>
<p>Crossing -&gt; Queued or WaitingToAdvance
Unparking -&gt; Crossing
IdlingAtStop -&gt; Crossing
Queued -&gt; last step handling (Parking or done)
WaitingToAdvance -&gt; try to advance to the next step of the path
Parking -&gt; done</p>
<p>State transitions for other cars:</p>
<p>Crossing -&gt; Crossing (recalculate dist/time)
Queued -&gt; Crossing</p>
<p>Why is it safe to process cars in any order, rather than making sure to follow the order
of queues? Because of the invariant that distances should never suddenly jump when a car
has entered/exiting a queue.
This car might have reached the router's end distance, but maybe not -- might
actually be stuck behind other cars. We have to calculate the distances right now to
be sure.</p>
</div><h4 id='method.update_car_without_distances' class="method"><code>fn <a href='#method.update_car_without_distances' class='fnname'>update_car_without_distances</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;car: &amp;mut <a class="struct" href="../../../sim/mechanics/car/struct.Car.html" title="struct sim::mechanics::car::Car">Car</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut <a class="struct" href="../../../sim/sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;transit: &amp;mut <a class="struct" href="../../../sim/transit/struct.TransitSimState.html" title="struct sim::transit::TransitSimState">TransitSimState</a><br>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#258-461' title='goto source code'>[src]</a></h4><h4 id='method.update_car_with_distances' class="method"><code>fn <a href='#method.update_car_with_distances' class='fnname'>update_car_with_distances</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;car: &amp;mut <a class="struct" href="../../../sim/mechanics/car/struct.Car.html" title="struct sim::mechanics::car::Car">Car</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;dists: &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="struct" href="../../../sim/struct.CarID.html" title="struct sim::CarID">CarID</a>, <a class="struct" href="../../../geom/distance/struct.Distance.html" title="struct geom::distance::Distance">Distance</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut <a class="struct" href="../../../sim/sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;trips: &amp;mut <a class="struct" href="../../../sim/trips/struct.TripManager.html" title="struct sim::trips::TripManager">TripManager</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;transit: &amp;mut <a class="struct" href="../../../sim/transit/struct.TransitSimState.html" title="struct sim::transit::TransitSimState">TransitSimState</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;walking: &amp;mut <a class="struct" href="../../../sim/mechanics/walking/struct.WalkingSimState.html" title="struct sim::mechanics::walking::WalkingSimState">WalkingSimState</a><br>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#464-618' title='goto source code'>[src]</a></h4><h4 id='method.delete_car' class="method"><code>pub fn <a href='#method.delete_car' class='fnname'>delete_car</a>(&amp;mut self, c: <a class="struct" href="../../../sim/struct.CarID.html" title="struct sim::CarID">CarID</a>, now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, ctx: &amp;mut <a class="struct" href="../../../sim/sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;) -&gt; <a class="struct" href="../../../sim/struct.Vehicle.html" title="struct sim::Vehicle">Vehicle</a></code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#622-645' title='goto source code'>[src]</a></h4><div class='docblock'><p>Abruptly remove a vehicle from the simulation. They may be in any arbitrary state, like in
the middle of a turn or parking.</p>
</div><h4 id='method.delete_car_internal' class="method"><code>fn <a href='#method.delete_car_internal' class='fnname'>delete_car_internal</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;car: &amp;mut <a class="struct" href="../../../sim/mechanics/car/struct.Car.html" title="struct sim::mechanics::car::Car">Car</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;dists: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="struct" href="../../../sim/struct.CarID.html" title="struct sim::CarID">CarID</a>, <a class="struct" href="../../../geom/distance/struct.Distance.html" title="struct geom::distance::Distance">Distance</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut <a class="struct" href="../../../sim/sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;<br>)</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#647-712' title='goto source code'>[src]</a></h4><h4 id='method.update_laggy_head' class="method"><code>pub fn <a href='#method.update_laggy_head' class='fnname'>update_laggy_head</a>(&amp;mut self, id: <a class="struct" href="../../../sim/struct.CarID.html" title="struct sim::CarID">CarID</a>, now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, ctx: &amp;mut <a class="struct" href="../../../sim/sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;)</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#714-779' title='goto source code'>[src]</a></h4><h4 id='method.trim_last_steps' class="method"><code>fn <a href='#method.trim_last_steps' class='fnname'>trim_last_steps</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;car: &amp;mut <a class="struct" href="../../../sim/mechanics/car/struct.Car.html" title="struct sim::mechanics::car::Car">Car</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut <a class="struct" href="../../../sim/sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;<br>)</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#782-852' title='goto source code'>[src]</a></h4><h4 id='method.get_unzoomed_agents' class="method"><code>pub fn <a href='#method.get_unzoomed_agents' class='fnname'>get_unzoomed_agents</a>(&amp;self, now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, map: &amp;<a class="struct" href="../../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../../../sim/struct.UnzoomedAgent.html" title="struct sim::UnzoomedAgent">UnzoomedAgent</a>&gt;</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#855-881' title='goto source code'>[src]</a></h4><div class='docblock'><p>Note the ordering of results is non-deterministic!</p>
</div><h4 id='method.does_car_exist' class="method"><code>pub fn <a href='#method.does_car_exist' class='fnname'>does_car_exist</a>(&amp;self, id: <a class="struct" href="../../../sim/struct.CarID.html" title="struct sim::CarID">CarID</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#883-885' title='goto source code'>[src]</a></h4><h4 id='method.get_all_draw_cars' class="method"><code>pub fn <a href='#method.get_all_draw_cars' class='fnname'>get_all_draw_cars</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;map: &amp;<a class="struct" href="../../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;transit: &amp;<a class="struct" href="../../../sim/transit/struct.TransitSimState.html" title="struct sim::transit::TransitSimState">TransitSimState</a><br>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../../../sim/struct.DrawCarInput.html" title="struct sim::DrawCarInput">DrawCarInput</a>&gt;</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#888-904' title='goto source code'>[src]</a></h4><div class='docblock'><p>Note the ordering of results is non-deterministic!</p>
</div><h4 id='method.get_single_draw_car' class="method"><code>pub fn <a href='#method.get_single_draw_car' class='fnname'>get_single_draw_car</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;id: <a class="struct" href="../../../sim/struct.CarID.html" title="struct sim::CarID">CarID</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;map: &amp;<a class="struct" href="../../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;transit: &amp;<a class="struct" href="../../../sim/transit/struct.TransitSimState.html" title="struct sim::transit::TransitSimState">TransitSimState</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../../sim/struct.DrawCarInput.html" title="struct sim::DrawCarInput">DrawCarInput</a>&gt;</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#907-918' title='goto source code'>[src]</a></h4><div class='docblock'><p>This is about as expensive as get_draw_cars_on.</p>
</div><h4 id='method.get_draw_cars_on' class="method"><code>pub fn <a href='#method.get_draw_cars_on' class='fnname'>get_draw_cars_on</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;on: <a class="enum" href="../../../map_model/traversable/enum.Traversable.html" title="enum map_model::traversable::Traversable">Traversable</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;map: &amp;<a class="struct" href="../../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;transit: &amp;<a class="struct" href="../../../sim/transit/struct.TransitSimState.html" title="struct sim::transit::TransitSimState">TransitSimState</a><br>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../../../sim/struct.DrawCarInput.html" title="struct sim::DrawCarInput">DrawCarInput</a>&gt;</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#920-935' title='goto source code'>[src]</a></h4><h4 id='method.debug_car' class="method"><code>pub fn <a href='#method.debug_car' class='fnname'>debug_car</a>(&amp;self, id: <a class="struct" href="../../../sim/struct.CarID.html" title="struct sim::CarID">CarID</a>)</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#937-944' title='goto source code'>[src]</a></h4><h4 id='method.debug_lane' class="method"><code>pub fn <a href='#method.debug_lane' class='fnname'>debug_lane</a>(&amp;self, id: <a class="struct" href="../../../map_model/objects/lane/struct.LaneID.html" title="struct map_model::objects::lane::LaneID">LaneID</a>)</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#946-950' title='goto source code'>[src]</a></h4><h4 id='method.agent_properties' class="method"><code>pub fn <a href='#method.agent_properties' class='fnname'>agent_properties</a>(&amp;self, id: <a class="struct" href="../../../sim/struct.CarID.html" title="struct sim::CarID">CarID</a>, now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>) -&gt; <a class="struct" href="../../../sim/struct.AgentProperties.html" title="struct sim::AgentProperties">AgentProperties</a></code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#952-964' title='goto source code'>[src]</a></h4><h4 id='method.get_path' class="method"><code>pub fn <a href='#method.get_path' class='fnname'>get_path</a>(&amp;self, id: <a class="struct" href="../../../sim/struct.CarID.html" title="struct sim::CarID">CarID</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="struct" href="../../../map_model/pathfind/struct.Path.html" title="struct map_model::pathfind::Path">Path</a>&gt;</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#966-969' title='goto source code'>[src]</a></h4><h4 id='method.get_all_driving_paths' class="method"><code>pub fn <a href='#method.get_all_driving_paths' class='fnname'>get_all_driving_paths</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;&amp;<a class="struct" href="../../../map_model/pathfind/struct.Path.html" title="struct map_model::pathfind::Path">Path</a>&gt;</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#970-975' title='goto source code'>[src]</a></h4><h4 id='method.trace_route' class="method"><code>pub fn <a href='#method.trace_route' class='fnname'>trace_route</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;id: <a class="struct" href="../../../sim/struct.CarID.html" title="struct sim::CarID">CarID</a>, <br>&nbsp;&nbsp;&nbsp
</div><h4 id='method.handle_live_edits' class="method"><code>pub fn <a href='#method.handle_live_edits' class='fnname'>handle_live_edits</a>(&amp;mut self, map: &amp;<a class="struct" href="../../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>)</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#1115-1150' title='goto source code'>[src]</a></h4><h4 id='method.all_waiting_people' class="method"><code>pub fn <a href='#method.all_waiting_people' class='fnname'>all_waiting_people</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;delays: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a>&lt;<a class="struct" href="../../../sim/struct.PersonID.html" title="struct sim::PersonID">PersonID</a>, <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a>&gt;<br>)</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#1152-1161' title='goto source code'>[src]</a></h4><h4 id='method.debug_queue_lengths' class="method"><code>pub fn <a href='#method.debug_queue_lengths' class='fnname'>debug_queue_lengths</a>(&amp;self, l: <a class="struct" href="../../../map_model/objects/lane/struct.LaneID.html" title="struct map_model::objects::lane::LaneID">LaneID</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="struct" href="../../../geom/distance/struct.Distance.html" title="struct geom::distance::Distance">Distance</a>, <a class="struct" href="../../../geom/distance/struct.Distance.html" title="struct geom::distance::Distance">Distance</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>&gt;</code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#1163-1166' title='goto source code'>[src]</a></h4></div><h2 id='trait-implementations' class='small-section-header'>Trait Implementations<a href='#trait-implementations' class='anchor'></a></h2><div id='trait-implementations-list'><h3 id='impl-Clone' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../sim/mechanics/driving/struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></code><a href='#impl-Clone' class='anchor'></a><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#26' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.clone' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&amp;self) -&gt; <a class="struct" href="../../../sim/mechanics/driving/struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#26' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4 id='method.clone_from' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Self)</code><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#128-130' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></div><h3 id='impl-Deserialize%3C%27de%3E' class='impl'><code class='in-band'>impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.117/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="../../../sim/mechanics/driving/struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></code><a href='#impl-Deserialize%3C%27de%3E' class='anchor'></a><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#26' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.deserialize' class="method hidden"><code>fn <a href='https://docs.rs/serde/1.0.117/serde/de/trait.Deserialize.html#tymethod.deserialize' class='fnname'>deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="type" href="https://docs.rs/serde/1.0.117/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;__D: <a class="trait" href="https://docs.rs/serde/1.0.117/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#26' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.117/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
</div></div><h3 id='impl-Serialize' class='impl'><code class='in-band'>impl <a class="trait" href="https://docs.rs/serde/1.0.117/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../sim/mechanics/driving/struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></code><a href='#impl-Serialize' class='anchor'></a><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#26' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.serialize' class="method hidden"><code>fn <a href='https://docs.rs/serde/1.0.117/serde/ser/trait.Serialize.html#tymethod.serialize' class='fnname'>serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="type" href="https://docs.rs/serde/1.0.117/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.117/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;__S: <a class="trait" href="https://docs.rs/serde/1.0.117/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,&nbsp;</span></code><a class='srclink' href='../../../src/sim/mechanics/driving.rs.html#26' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.117/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
</div></div></div><h2 id='synthetic-implementations' class='small-section-header'>Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a></h2><div id='synthetic-implementations-list'><h3 id='impl-RefUnwindSafe' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../sim/mechanics/driving/struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></code><a href='#impl-RefUnwindSafe' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Send' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../sim/mechanics/driving/struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></code><a href='#impl-Send' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../sim/mechanics/driving/struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></code><a href='#impl-Sync' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Unpin' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../sim/mechanics/driving/struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></code><a href='#impl-Unpin' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-UnwindSafe' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../sim/mechanics/driving/struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></code><a href='#impl-UnwindSafe' class='anchor'></a></h3><div class='impl-items'></div></div><h2 id='blanket-implementations' class='small-section-header'>Blanket Implementations<a href='#blanket-implementations' class='anchor'></a></h2><div id='blanket-implementations-list'><h3 id='impl-Any' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Any' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#108-112' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.type_id' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id' class='fnname'>type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#109-111' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Borrow%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210-214' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow' class='fnname'>borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211-213' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-BorrowMut%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217-221' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow_mut' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut' class='fnname'>borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218-220' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3 id='impl-DeserializeOwned' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://docs.rs/serde/1.0.117/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: for&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.117/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt;,&nbsp;</span></code><a href='#impl-DeserializeOwned' class='anchor'></a><a class='srclink' href='https://docs.rs/serde/1.0.117/src/serde/de/mod.rs.html#604' title='goto source code'>[src]</a></h3><div class='impl-items'></div><h3 id='impl-Downcast' class='impl'><code class='in-band'>impl&lt;T&gt; Downcast for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,&nbsp;</span></code><a href='#impl-Downcast' class='anchor'></a></h3><div class='impl-items'><h4 id='method.into_any' class="method hidden"><code>fn <a href='#method.into_any' class='fnname'>into_any</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;T&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static&gt;</code></h4><div class='docblock hidden'><p>Convert <code>Box&lt;dyn Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Box&lt;dyn Any&gt;</code>. <code>Box&lt;dyn Any&gt;</code> can
then be further <code>downcast</code> into <code>Box&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>. <a href="#tymethod.into_any">Read more</a></p>
</div><h4 id='method.into_any_rc' class="method hidden"><code>fn <a href='#method.into_any_rc' class='fnname'>into_any_rc</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;T&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static&gt;</code></h4><div class='docblock hidden'><p>Convert <code>Rc&lt;Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Rc&lt;Any&gt;</code>. <code>Rc&lt;Any&gt;</code> can then be
further <code>downcast</code> into <code>Rc&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>. <a href="#tymethod.into_any_rc">Read more</a></p>
</div><h4 id='method.as_any' class="method hidden"><code>fn <a href='#method.as_any' class='fnname'>as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</code></h4><div class='docblock hidden'><p>Convert <code>&amp;Trait</code> (where <code>Trait: Downcast</code>) to <code>&amp;Any</code>. This is needed since Rust cannot
generate <code>&amp;Any</code>'s vtable from <code>&amp;Trait</code>'s. <a href="#tymethod.as_any">Read more</a></p>
</div><h4 id='method.as_any_mut' class="method hidden"><code>fn <a href='#method.as_any_mut' class='fnname'>as_any_mut</a>(&amp;mut self) -&gt; &amp;mut (dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</code></h4><div class='docblock hidden'><p>Convert <code>&amp;mut Trait</code> (where <code>Trait: Downcast</code>) to <code>&amp;Any</code>. This is needed since Rust cannot
generate <code>&amp;mut Any</code>'s vtable from <code>&amp;mut Trait</code>'s. <a href="#tymethod.as_any_mut">Read more</a></p>
</div></div><h3 id='impl-DowncastSync' class='impl'><code class='in-band'>impl&lt;T&gt; DowncastSync for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,&nbsp;</span></code><a href='#impl-DowncastSync' class='anchor'></a></h3><div class='impl-items'><h4 id='method.into_any_arc' class="method hidden"><code>fn <a href='#method.into_any_arc' class='fnname'>into_any_arc</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;T&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt;</code></h4><div class='docblock hidden'><p>Convert <code>Arc&lt;Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Arc&lt;Any&gt;</code>. <code>Arc&lt;Any&gt;</code> can then be
further <code>downcast</code> into <code>Arc&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>. <a href="#tymethod.into_any_arc">Read more</a></p>
</div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#551-555' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class='fnname'>from</a>(t: T) -&gt; T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#552-554' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-Into%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Into%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#540-547' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.into' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into' class='fnname'>into</a>(self) -&gt; U</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-546' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-Same%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; Same&lt;T&gt; for T</code><a href='#impl-Same%3CT%3E' class='anchor'></a></h3><div class='impl-items'><h4 id='associatedtype.Output' class="type"><code>type <a href='#associatedtype.Output' class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
</div></div><h3 id='impl-ToOwned' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></code><a href='#impl-ToOwned' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#80-92' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Owned' class="type"><code>type <a href='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned' class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
</div><h4 id='method.to_owned' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned' class='fnname'>to_owned</a>(&amp;self) -&gt; T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#85-87' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div><h4 id='method.clone_into' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into' class='fnname'>clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#89-91' title='goto source code'>[src]</a></h4><div class='stability hidden'><div class='stab unstable'><details><summary><span class='emoji'>🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-TryFrom%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#588-597' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error' class="type"><code>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error' class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_from' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from' class='fnname'>try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#594-596' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryInto%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-TryInto%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#574-583' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error-1' class="type"><code>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error' class="type">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_into' class="method hidden"><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into' class='fnname'>try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#580-582' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-VZip%3CV%3E' class='impl'><code class='in-band'>impl&lt;V, T&gt; VZip&lt;V&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: MultiLane&lt;T&gt;,&nbsp;</span></code><a href='#impl-VZip%3CV%3E' class='anchor'></a></h3><div class='impl-items'><h4 id='method.vzip' class="method hidden"><code>fn <a href='#method.vzip' class='fnname'>vzip</a>(self) -&gt; V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../../";window.currentCrate = "sim";</script><script src="../../../main.js"></script><script defer src="../../../search-index.js"></script></body></html>