Struct stack_graphs::c::sg_forward_path_stitcher[][src]

#[repr(C)]
pub struct sg_forward_path_stitcher { pub previous_phase_paths: *const sg_path, pub previous_phase_paths_length: usize, }
Expand description

Implements a phased forward path-stitching algorithm.

Our overall goal is to start with a set of seed paths, and to repeatedly extend each path by appending a compatible partial path onto the end of it. (If there are multiple compatible partial paths, we append 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 paths that need to be processed. As we extend those paths, we add the extensions to the set of paths to process in the next phase. Phases are processed one at a time, each time you invoke sg_forward_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 paths that were discovered during that phase. That gives you a chance to add to the sg_partial_path_database all of the partial paths that we might need to extend those paths with before invoking the next phase.

Fields

previous_phase_paths: *const sg_path

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

previous_phase_paths_length: usize

The number of new candidate paths that were discovered in the most recent phase. If this is 0, then the 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.