Struct transit_model::model::Model
source · pub struct Model { /* private fields */ }
Expand description
The navitia transit model.
Implementations§
source§impl Model
impl Model
sourcepub fn get_corresponding<T, U>(&self, from: &IdxSet<T>) -> IdxSet<U>where
IdxSet<T>: GetCorresponding<U>,
pub fn get_corresponding<T, U>(&self, from: &IdxSet<T>) -> IdxSet<U>where IdxSet<T>: GetCorresponding<U>,
Returns the set of U
indices corresponding to the from
set.
sourcepub fn get_corresponding_from_idx<T, U>(&self, from: Idx<T>) -> IdxSet<U>where
IdxSet<T>: GetCorresponding<U>,
pub fn get_corresponding_from_idx<T, U>(&self, from: Idx<T>) -> IdxSet<U>where IdxSet<T>: GetCorresponding<U>,
Returns the set of U
indices corresponding to the from
index.
source§impl Model
impl Model
sourcepub fn new(c: Collections) -> Result<Self>
pub fn new(c: Collections) -> Result<Self>
Constructs a model from the given Collections
. Fails in
case of incoherence, as invalid external references.
Examples
let _: Model = Model::new(Collections::default())?;
let mut collections = Collections::default();
// This transfer is invalid as there is no stop points in collections
// but objects not referenced are removed from the model
collections.transfers = Collection::from(Transfer {
from_stop_id: "invalid".into(),
to_stop_id: "also_invalid".into(),
min_transfer_time: None,
real_min_transfer_time: None,
equipment_id: None,
});
assert!(Model::new(collections).is_ok());
sourcepub fn into_collections(self) -> Collections
pub fn into_collections(self) -> Collections
Consumes collections,
Examples
let model: Model = Model::new(Collections::default())?;
let mut collections = model.into_collections();
collections
.feed_infos
.insert("foo".to_string(), "bar".to_string());
let feeds: Vec<(_, _)> = collections.feed_infos.into_iter().collect();
assert_eq!(
vec![("foo".to_string(), "bar".to_string())],
feeds
);
Methods from Deref<Target = Collections>§
sourcepub fn calculate_validity_period(&self) -> Result<(Date, Date)>
pub fn calculate_validity_period(&self) -> Result<(Date, Date)>
Calculate the validity period in the ‘Model’. The calculation is based on the minimum start date and the maximum end date of all the datasets. If no dataset is found, an error is returned.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Model
impl<'de> Deserialize<'de> for Model
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl RefUnwindSafe for Model
impl Send for Model
impl Sync for Model
impl Unpin for Model
impl UnwindSafe for Model
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more