gmt_dos_actors/model/
flowchart.rs

1use crate::{actor::PlainActor, framework::model::GetName};
2
3use super::{Model, UnknownOrReady};
4
5impl<State> IntoIterator for &Model<State>
6where
7    State: UnknownOrReady,
8{
9    type Item = PlainActor;
10
11    type IntoIter = std::vec::IntoIter<Self::Item>;
12
13    fn into_iter(self) -> Self::IntoIter {
14        self.actors
15            .as_ref()
16            .map(|actors| {
17                actors
18                    .iter()
19                    .map(|a| a.as_plain())
20                    .collect::<Vec<PlainActor>>()
21            })
22            .unwrap_or_default()
23            .into_iter()
24    }
25}
26
27impl<State> GetName for Model<State>
28where
29    State: UnknownOrReady,
30{
31    fn get_name(&self) -> String {
32        self.name
33            .as_ref()
34            .map_or("integrated_model", |x| x.as_str())
35            .into()
36    }
37}