pub struct CompiledGraph {
pub name: Symbol,
pub nodes: Vec<CompiledNode>,
pub edges: Vec<CompiledEdge>,
pub node_index_by_id: BTreeMap<NodeId, usize>,
pub edge_index_by_id: BTreeMap<EdgeId, usize>,
pub input_nodes: Vec<usize>,
pub output_nodes: Vec<usize>,
pub incoming_edges: Vec<Vec<usize>>,
pub outgoing_edges: Vec<Vec<usize>>,
pub reachable_from_inputs: Vec<bool>,
pub cyclic_nodes: Vec<bool>,
pub cycle_edges: Vec<bool>,
}Expand description
Deterministic graph plan produced from validated topology data.
Fields§
§name: SymbolGraph name copied from source data.
nodes: Vec<CompiledNode>Compiled nodes in source declaration order.
edges: Vec<CompiledEdge>Compiled edges in source declaration order.
node_index_by_id: BTreeMap<NodeId, usize>Stable lookup from node id to source-order node index.
edge_index_by_id: BTreeMap<EdgeId, usize>Stable lookup from edge id to source-order edge index.
input_nodes: Vec<usize>Public input node indexes in source order.
output_nodes: Vec<usize>Public output node indexes in source order.
incoming_edges: Vec<Vec<usize>>Incoming edge indexes for each node, preserving source edge order.
outgoing_edges: Vec<Vec<usize>>Outgoing edge indexes for each node, sorted by priority then source order.
reachable_from_inputs: Vec<bool>Whether each node is reachable from any public input node.
cyclic_nodes: Vec<bool>Whether each node participates in a directed cycle.
cycle_edges: Vec<bool>Whether each edge participates in a directed cycle.
Trait Implementations§
Source§impl Clone for CompiledGraph
impl Clone for CompiledGraph
Source§fn clone(&self) -> CompiledGraph
fn clone(&self) -> CompiledGraph
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CompiledGraph
impl Debug for CompiledGraph
impl Eq for CompiledGraph
Source§impl PartialEq for CompiledGraph
impl PartialEq for CompiledGraph
impl StructuralPartialEq for CompiledGraph
Auto Trait Implementations§
impl Freeze for CompiledGraph
impl RefUnwindSafe for CompiledGraph
impl Send for CompiledGraph
impl Sync for CompiledGraph
impl Unpin for CompiledGraph
impl UnsafeUnpin for CompiledGraph
impl UnwindSafe for CompiledGraph
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more