Skip to main content

ProgressEventTimestampVec

Trait ProgressEventTimestampVec 

Source
pub trait ProgressEventTimestampVec: Debug + Any {
    // Required method
    fn iter<'a>(
        &'a self,
    ) -> Box<dyn Iterator<Item = (&'a usize, &'a usize, &'a dyn ProgressEventTimestamp, &'a i64)> + 'a>;
}
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§

Source

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

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<T: ProgressEventTimestamp> ProgressEventTimestampVec for Vec<(usize, usize, T, i64)>

Source§

fn iter<'a>( &'a self, ) -> Box<dyn Iterator<Item = (&'a usize, &'a usize, &'a dyn ProgressEventTimestamp, &'a i64)> + 'a>

Implementors§