1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
use crate::algebra::{ abstr::{Field, Scalar}, linear::matrix::MatrixIntoIterator, }; use std::iter::Iterator; pub struct VectorIntoIterator<T> { iter: MatrixIntoIterator<T>, } impl<T> VectorIntoIterator<T> { pub fn new(iter: MatrixIntoIterator<T>) -> VectorIntoIterator<T> { VectorIntoIterator{ iter } } } impl<T> Iterator for VectorIntoIterator<T> where T: Field + Scalar { type Item = T; fn next(self: &mut Self) -> Option<Self::Item> { return self.iter.next(); } }