pub trait ProgressEventTimestampVec: Debug + Any {
// Required methods
fn iter<'a>(
&'a self,
) -> Box<dyn Iterator<Item = (&'a usize, &'a usize, &'a dyn ProgressEventTimestamp, &'a i64)> + 'a>;
fn box_clone(&self) -> Box<dyn ProgressEventTimestampVec>;
}
Expand description
A vector of progress updates in logs
This exists to support upcasting of the concrecte progress update vectors to
dyn ProgressEventTimestamp
. Doing so at the vector granularity allows us to
use a single allocation for the entire vector (as opposed to a Box
allocation
for each dynamically typed element).
Required Methods§
Sourcefn iter<'a>(
&'a self,
) -> Box<dyn Iterator<Item = (&'a usize, &'a usize, &'a dyn ProgressEventTimestamp, &'a i64)> + 'a>
fn iter<'a>( &'a self, ) -> Box<dyn Iterator<Item = (&'a usize, &'a usize, &'a dyn ProgressEventTimestamp, &'a i64)> + 'a>
Iterate over the contents of the vector
Sourcefn box_clone(&self) -> Box<dyn ProgressEventTimestampVec>
fn box_clone(&self) -> Box<dyn ProgressEventTimestampVec>
Clone self into a boxed trait object.