use crate::NodeId;
use crate::node::ContextMode;
#[derive(Debug, Clone)]
pub struct GraphInfo {
pub node_count: usize,
}
#[derive(Debug, Clone)]
pub struct SystemInfo {
pub node_id: NodeId,
pub node_name: &'static str,
}
#[derive(Debug, Clone)]
pub struct LoopInfo {
pub node_id: NodeId,
pub node_name: &'static str,
pub max_iterations: usize,
}
#[derive(Debug, Clone)]
pub struct ParallelInfo {
pub node_id: NodeId,
pub node_name: &'static str,
pub branch_count: usize,
}
#[derive(Debug, Clone)]
pub struct DecisionInfo {
pub node_id: NodeId,
pub node_name: &'static str,
}
#[derive(Debug, Clone)]
pub struct SwitchInfo {
pub node_id: NodeId,
pub node_name: &'static str,
pub case_count: usize,
pub has_default: bool,
}
#[derive(Debug, Clone)]
pub struct LoopIterationInfo {
pub node_id: NodeId,
pub node_name: &'static str,
pub iteration: usize,
pub max_iterations: usize,
}
#[derive(Debug, Clone)]
pub struct ParallelBranchInfo {
pub node_id: NodeId,
pub node_name: &'static str,
pub branch_index: usize,
pub branch_count: usize,
}
#[derive(Debug, Clone)]
pub struct ScopeInfo {
pub node_id: NodeId,
pub node_name: &'static str,
pub context_mode: ContextMode,
pub inner_node_count: usize,
}