Struct stack_graphs::c::sg_forward_partial_path_stitcher[][src]

#[repr(C)]
pub struct sg_forward_partial_path_stitcher { pub previous_phase_partial_paths: *const sg_partial_path, pub previous_phase_partial_paths_length: usize, }
Expand description

Implements a phased forward partial path stitching algorithm.

Our overall goal is to start with a set of seed partial paths, and to repeatedly extend each partial path by concatenating another, compatible partial path onto the end of it. (If there are multiple compatible partial paths, we concatenate each of them separately, resulting in more than one extension for the current path.)

We perform this processing in phases. At the start of each phase, we have a current set of partial paths that need to be processed. As we extend those partial paths, we add the extensions to the set of partial paths to process in the next phase. Phases are processed one at a time, each time you invoke sg_forward_partial_path_stitcher_process_next_phase.

After each phase has completed, the previous_phase_paths and previous_phase_paths_length fields give you all of the partial paths that were discovered during that phase. That gives you a chance to add to the sg_partial_path_database all of the other partial paths that we might need to extend those partial paths with before invoking the next phase.

Fields

previous_phase_partial_paths: *const sg_partial_path

The new candidate partial paths that were discovered in the most recent phase.

previous_phase_partial_paths_length: usize

The number of new candidate partial paths that were discovered in the most recent phase. If this is 0, then the partial path stitching algorithm is complete.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.