pub struct CompiledGraph<T: Transcendental, const BUF_SIZE: usize> {
pub buffers: Vec<FixedBuffer<T, BUF_SIZE>>,
pub nodes: Vec<NodeClosure<T, BUF_SIZE>>,
pub inputs: usize,
pub outputs: usize,
pub output_mapping: Vec<usize>,
pub node_names: Vec<String>,
pub node_param_names: Vec<Vec<String>>,
}Expand description
A compiled graph ready for zero-allocation execution.
Fields§
§buffers: Vec<FixedBuffer<T, BUF_SIZE>>Pre-allocated buffer pool (fixed-size, stack-friendly).
nodes: Vec<NodeClosure<T, BUF_SIZE>>Compiled node closures in topological order.
inputs: usizeNumber of graph input channels.
outputs: usizeNumber of graph output channels.
output_mapping: Vec<usize>Buffer indices mapping to graph output channels.
node_names: Vec<String>Node names in topological order (for anchor-based param routing).
node_param_names: Vec<Vec<String>>Per-node parameter name → index mappings.
Auto Trait Implementations§
impl<T, const BUF_SIZE: usize> !RefUnwindSafe for CompiledGraph<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> !UnwindSafe for CompiledGraph<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> Freeze for CompiledGraph<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> Send for CompiledGraph<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> Sync for CompiledGraph<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> Unpin for CompiledGraph<T, BUF_SIZE>where
T: Unpin,
impl<T, const BUF_SIZE: usize> UnsafeUnpin for CompiledGraph<T, BUF_SIZE>
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