diff options
author | Lars Wirzenius <liw@liw.fi> | 2019-09-20 09:10:13 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2019-09-20 09:10:13 +0300 |
commit | c0e0cc59b59d18b7304b616ad2805975469a40db (patch) | |
tree | 0d7b4c09ade12d8dbb7689556f77e016f7609385 /src/lib.rs | |
parent | 699915a71d5ff173427b7510fd8fdea24b637b6a (diff) | |
download | roadmap-c0e0cc59b59d18b7304b616ad2805975469a40db.tar.gz |
Add: itertors over steps
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -119,6 +119,16 @@ impl Roadmap { Ok(()) } + // Get iterator over refs to steps. + pub fn iter(&self) -> impl Iterator<Item=&Step> { + self.steps.iter() + } + + // Get iterator over mut refs to steps. + pub fn iter_mut(&mut self) -> impl Iterator<Item=&mut Step> { + self.steps.iter_mut() + } + /// Get a Graphviz dot language representation of a roadmap. This /// is the textual representation, and the caller needs to use the /// Graphviz dot(1) tool to create an image from it. @@ -133,7 +143,7 @@ impl Roadmap { dot.push_str(&line); } - for step in self.steps.iter() { + for step in self.iter() { for dep in step.dependencies() { let line = format!("{} -> {};\n", dep, step.name()); dot.push_str(&line); |