diff options
author | JSDurand <mmemmew@gmail.com> | 2022-12-14 23:48:22 +0800 |
---|---|---|
committer | JSDurand <mmemmew@gmail.com> | 2022-12-14 23:48:22 +0800 |
commit | 9f1c88b863e247da3cd60d2792a7a13b18e25e53 (patch) | |
tree | d29c0e19793a88a1de6898fdfd2a376fca21378f /graph/src | |
parent | cb7bcfad4ab0041aaf3fde3185e27ee46bb37788 (diff) |
a temporary check point
just to save things in a commit
Diffstat (limited to 'graph/src')
-rw-r--r-- | graph/src/adlist.rs | 8 | ||||
-rw-r--r-- | graph/src/labelled.rs | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/graph/src/adlist.rs b/graph/src/adlist.rs index c16ceb2..18ad770 100644 --- a/graph/src/adlist.rs +++ b/graph/src/adlist.rs @@ -102,6 +102,14 @@ impl ExtGraph for ALGraph { } } +// TODO: Add a way to build a graph by its raw adjacency list representation. +impl From<Vec<Vec<usize>>> for ALGraph { + fn from(adlist: Vec<Vec<usize>>) -> Self { + let nodes: Vec<ALNode> = adlist.iter().cloned().map(ALNode::new).collect(); + Self { nodes } + } +} + #[cfg(test)] mod algraph_test { use super::*; diff --git a/graph/src/labelled.rs b/graph/src/labelled.rs index 1cb2461..d02e301 100644 --- a/graph/src/labelled.rs +++ b/graph/src/labelled.rs @@ -144,7 +144,7 @@ impl<'a> Iterator for LabelIndexIter<'a> { #[inline] fn next(&mut self) -> Option<Self::Item> { - self.iter.as_mut().map(|iterator| iterator.next()).flatten() + self.iter.as_mut().and_then(|iterator| iterator.next()) } #[inline] |