Struct qecs_core::SimulationBuilder [] [src]

pub struct SimulationBuilder<IdMgr, Key, SsysBase: ?Sized, StoBase: ?Sized, BufBase: ?Sized, ProcBase: ?Sized> {
    // some fields omitted
}

Methods

impl<IdMgr, Key, SsysBase: ?Sized, StoBase: ?Sized, BufBase: ?Sized, ProcBase: ?Sized> SimulationBuilder<IdMgr, Key, SsysBase, StoBase, BufBase, ProcBase> where IdMgr: PrimaryIdManager, Key: Debug + Ord, SsysBase: SubsystemBase, StoBase: StoreBase<Id=IdMgr::Id>, BufBase: BufferBase, ProcBase: ProcessBase<IdMgr, Key, SsysBase, StoBase, BufBase>
[src]

fn new(ids: IdMgr) -> Self

fn subsystems(&mut self) -> &mut IocBuilder<Key, SsysBase>

fn stores(&mut self) -> &mut IocBuilder<Key, StoBase>

fn buffers(&mut self) -> &mut IocBuilder<Key, BufBase>

fn pipeline(&mut self) -> &mut Vec<IocBuilder<Key, ProcBase>>

TODO: This isn't very user-friendly. Currently works fine if you have a fixed amount of stages, but beyond that it's quite whacky.

fn build(self) -> Simulation<IdMgr, Key, SsysBase, StoBase, BufBase, ProcBase>