Skip to content

Commit 0f6aee6

Browse files
committed
iteration is possible
1 parent e6c1662 commit 0f6aee6

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/table_column.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,15 @@ macro_rules! make_table_column {
2828
}
2929
}
3030

31+
impl<'table, T> $name<'table, T>
32+
where
33+
T: Copy,
34+
{
35+
pub fn iter(&self) -> impl Iterator<Item = T> + '_ {
36+
self.0.iter().map(|&value| value)
37+
}
38+
}
39+
3140
impl<T> std::ops::Index<usize> for $name<'_, T> {
3241
type Output = T;
3342
fn index(&self, index: usize) -> &Self::Output {
@@ -59,3 +68,11 @@ macro_rules! make_table_column {
5968

6069
make_table_column!(NodeTableColumn, NodeId);
6170
make_table_column!(EdgeTableColumn, EdgeId);
71+
72+
#[test]
73+
fn test_table_column_iter() {
74+
make_table_column!(TestTableColumn, NodeId);
75+
let v = vec![1, 2, 3];
76+
let c = TestTableColumn(&v);
77+
assert_eq!(c.iter().collect::<Vec::<_>>(), [1, 2, 3]);
78+
}

0 commit comments

Comments
 (0)