TransitionAttributes

Struct TransitionAttributes 

Source
#[non_exhaustive]
pub struct TransitionAttributes { pub src_tag: String, pub excluded_src_tag: String, pub dst_tag: String, pub excluded_dst_tag: String, pub cost: f64, pub cost_per_kilometer: f64, pub distance_limit: Option<DistanceLimit>, pub delay: Option<Duration>, /* private fields */ }
Expand description

Specifies attributes of transitions between two consecutive visits on a route. Several TransitionAttributes may apply to the same transition: in that case, all extra costs add up and the strictest constraint or limit applies (following natural “AND” semantics).

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§src_tag: String

Tags defining the set of (src->dst) transitions these attributes apply to.

A source visit or vehicle start matches iff its VisitRequest.tags or Vehicle.start_tags either contains src_tag or does not contain excluded_src_tag (depending on which of these two fields is non-empty).

§excluded_src_tag: String

See src_tag. Exactly one of src_tag and excluded_src_tag must be non-empty.

§dst_tag: String

A destination visit or vehicle end matches iff its VisitRequest.tags or Vehicle.end_tags either contains dst_tag or does not contain excluded_dst_tag (depending on which of these two fields is non-empty).

§excluded_dst_tag: String

See dst_tag. Exactly one of dst_tag and excluded_dst_tag must be non-empty.

§cost: f64

Specifies a cost for performing this transition. This is in the same unit as all other costs in the model and must not be negative. It is applied on top of all other existing costs.

§cost_per_kilometer: f64

Specifies a cost per kilometer applied to the distance traveled while performing this transition. It adds up to any Vehicle.cost_per_kilometer specified on vehicles.

§distance_limit: Option<DistanceLimit>

Specifies a limit on the distance traveled while performing this transition.

As of 2021/06, only soft limits are supported.

§delay: Option<Duration>

Specifies a delay incurred when performing this transition.

This delay always occurs after finishing the source visit and before starting the destination visit.

Implementations§

Source§

impl TransitionAttributes

Source

pub fn new() -> Self

Source

pub fn set_src_tag<T: Into<String>>(self, v: T) -> Self

Sets the value of src_tag.

Source

pub fn set_excluded_src_tag<T: Into<String>>(self, v: T) -> Self

Sets the value of excluded_src_tag.

Source

pub fn set_dst_tag<T: Into<String>>(self, v: T) -> Self

Sets the value of dst_tag.

Source

pub fn set_excluded_dst_tag<T: Into<String>>(self, v: T) -> Self

Sets the value of excluded_dst_tag.

Source

pub fn set_cost<T: Into<f64>>(self, v: T) -> Self

Sets the value of cost.

Source

pub fn set_cost_per_kilometer<T: Into<f64>>(self, v: T) -> Self

Sets the value of cost_per_kilometer.

Source

pub fn set_distance_limit<T>(self, v: T) -> Self
where T: Into<DistanceLimit>,

Sets the value of distance_limit.

Source

pub fn set_or_clear_distance_limit<T>(self, v: Option<T>) -> Self
where T: Into<DistanceLimit>,

Sets or clears the value of distance_limit.

Source

pub fn set_delay<T>(self, v: T) -> Self
where T: Into<Duration>,

Sets the value of delay.

Source

pub fn set_or_clear_delay<T>(self, v: Option<T>) -> Self
where T: Into<Duration>,

Sets or clears the value of delay.

Trait Implementations§

Source§

impl Clone for TransitionAttributes

Source§

fn clone(&self) -> TransitionAttributes

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TransitionAttributes

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for TransitionAttributes

Source§

fn default() -> TransitionAttributes

Returns the “default value” for a type. Read more
Source§

impl Message for TransitionAttributes

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for TransitionAttributes

Source§

fn eq(&self, other: &TransitionAttributes) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for TransitionAttributes

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,