pub fn split_by_start_chunk(&self) -> Vec<Graph> {
        self.start_chunks
            .iter()
            .cloned()
            .map(|start_id| {
                let mut new_self = self.clone();
                new_self.start_chunks = vec![start_id];
                new_self
            })
            .collect_vec()
    }
/// For each start chunk in `self`, creates a copy of `self` with _only_ that start chunk.  This
/// partitions the set of generated compositions across these `Graph`s, but allows for better
/// optimisations because more is known about each `Graph`.
For each start chunk in `self`, creates a copy of `self` with _only_ that start chunk.  This
partitions the set of generated compositions across these `Graph`s, but allows for better
optimisations because more is known about each `Graph`.
For each start chunk in ` self ` creates a copy of ` self ` with _only_ that start chunk . This partitions the set of generated compositions across these ` Graph ` s but allows for better optimisations because more is known about each ` Graph ` .
pub fn split_by_start_chunk(&self) -> Vec<Graph> {
        self.start_chunks
            .iter()
            .cloned()
            .map(|start_id| {
                let mut new_self = self.clone();
                new_self.start_chunks = vec![start_id];
                new_self
            })
            .collect_vec()
    }
pub fn split_by_start_chunk ( & self ) -> Vec < Graph > { self . start_chunks . iter ( ) . cloned ( ) . map ( | start_id | { let mut new_self = self . clone ( ) ; new_self . start_chunks = vec ! [ start_id ] ; new_self } ) . collect_vec ( ) }
For each start chunk in `self`, creates a copy of `self` with _only_ that start chunk.
For each start chunk in ` self ` creates a copy of ` self ` with _only_ that start chunk .
&self
&self