1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pub use crate::data::dataset::{Dataset, DatasetIterator};
use core::iter::Iterator;

#[derive(Clone, Debug)]
pub struct Progress {
    pub items_processed: usize,
    pub items_total: usize,
}

pub trait DataLoaderIterator<O>: Iterator<Item = O> {
    fn progress(&self) -> Progress;
}

pub trait DataLoader<O> {
    fn iter<'a>(&'a self) -> Box<dyn DataLoaderIterator<O> + 'a>;
}