pub trait Dataset<I>: Send + Sync {
// Required methods
fn get(&self, index: usize) -> Option<I>;
fn len(&self) -> usize;
// Provided methods
fn get_many(&self, indices: &[usize]) -> Option<Vec<I>> { ... }
fn is_empty(&self) -> bool { ... }
fn iter(&self) -> DatasetIterator<'_, I> ⓘ
where Self: Sized { ... }
}Available on crate features
dataset and std only.Expand description
The dataset trait defines a basic collection of items with a predefined size.
Required Methods§
Provided Methods§
Sourcefn get_many(&self, indices: &[usize]) -> Option<Vec<I>>
fn get_many(&self, indices: &[usize]) -> Option<Vec<I>>
Fetch actual items in requested order, preserving repeated indices. None means at least one requested item is absent; no filler is returned. Storage-backed implementations may combine I/O without changing order.
Sourcefn iter(&self) -> DatasetIterator<'_, I> ⓘwhere
Self: Sized,
fn iter(&self) -> DatasetIterator<'_, I> ⓘwhere
Self: Sized,
Returns an iterator over the dataset.
Trait Implementations§
Source§impl<I> Dataset<I> for Box<dyn Dataset<I>>
impl<I> Dataset<I> for Box<dyn Dataset<I>>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".