timely::logging

Trait ProgressEventTimestampVec

Source
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§

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

Source

fn box_clone(&self) -> Box<dyn ProgressEventTimestampVec>

Clone self into a boxed trait object.

Implementations on Foreign Types§

Source§

impl<T: ProgressEventTimestamp + Clone> 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>

Source§

fn box_clone(&self) -> Box<dyn ProgressEventTimestampVec>

Implementors§