pub trait PrefetchExt<T>:
Iterator<Item = T>
+ Sized
+ Send
+ 'staticwhere
T: Send + 'static,{
// Provided methods
fn prefetch(self, buffer_size: usize) -> PrefetchIterator<T> ⓘ { ... }
fn prefetch_unbounded(self) -> PrefetchIterator<T> ⓘ { ... }
}Expand description
Extension trait for adding prefetching to iterators
This trait provides convenient methods for adding prefetching capabilities to any iterator that meets the requirements (Send + ’static items).
§Examples
ⓘ
use torsh_data::dataloader::prefetch::PrefetchExt;
let data = vec![1, 2, 3, 4, 5];
let prefetch_iter = data.into_iter().prefetch(2);
for item in prefetch_iter {
// Process item while next items are being prefetched
}Provided Methods§
Sourcefn prefetch(self, buffer_size: usize) -> PrefetchIterator<T> ⓘ
fn prefetch(self, buffer_size: usize) -> PrefetchIterator<T> ⓘ
Sourcefn prefetch_unbounded(self) -> PrefetchIterator<T> ⓘ
fn prefetch_unbounded(self) -> PrefetchIterator<T> ⓘ
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.