Skip to main content

CompositionGraph

Struct CompositionGraph 

Source
pub struct CompositionGraph { /* private fields */ }
Expand description

A dependency-ordered set of GraphIndicator nodes, executed together per bar.

Implementations§

Source§

impl CompositionGraph

Source

pub fn build(nodes: Vec<Box<dyn GraphIndicator>>) -> Result<Self, GraphError>

Builds a graph from nodes, computing a topological execution order and each node’s effective warmup (its own warmup_period plus the maximum effective warmup of its dependencies). Fails on duplicate node names, references to unknown dependencies, or a dependency cycle.

Source

pub fn order(&self) -> &[String]

Execution order computed at CompositionGraph::build time (dependencies before dependents).

Source

pub fn effective_warmup(&self, name: &str) -> Option<usize>

A node’s effective warmup: its own warmup plus the maximum effective warmup among its dependencies.

Source

pub fn on_bar(&mut self, bar: &Bar) -> HashMap<String, Option<IndicatorOutput>>

Runs one bar through every node in dependency order, making each node’s output available to its dependents within the same call. Returns every node’s output for this bar.

Source

pub fn reset(&mut self)

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.