Struct qecs_core::SimulationBuilder
[−]
[src]
pub struct SimulationBuilder<IdMgr, Key, StoBase: ?Sized, BufBase: ?Sized, SerBase: ?Sized, ProcBase: ?Sized> { /* fields omitted */ }
Methods
impl<IdMgr, Key, StoBase: ?Sized, BufBase: ?Sized, SerBase: ?Sized, ProcBase: ?Sized> SimulationBuilder<IdMgr, Key, StoBase, BufBase, SerBase, ProcBase> where
IdMgr: PrimaryIdManager,
Key: Debug + Ord,
StoBase: StoreBase<Id = IdMgr::Id>,
BufBase: BufferBase,
SerBase: ServiceBase,
ProcBase: ProcessBase<IdMgr, Key, StoBase, BufBase, SerBase>,
[src]
IdMgr: PrimaryIdManager,
Key: Debug + Ord,
StoBase: StoreBase<Id = IdMgr::Id>,
BufBase: BufferBase,
SerBase: ServiceBase,
ProcBase: ProcessBase<IdMgr, Key, StoBase, BufBase, SerBase>,
fn new(ids: IdMgr) -> Self
fn stores(&mut self) -> &mut IocBuilder<Key, StoBase>
fn buffers(&mut self) -> &mut IocBuilder<Key, BufBase>
fn services(&mut self) -> &mut IocBuilder<Key, SerBase>
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, StoBase, BufBase, SerBase, ProcBase>
Trait Implementations
impl<IdMgr, Key, StoBase: ?Sized, BufBase: ?Sized, SerBase: ?Sized, ProcBase: ?Sized> Default for SimulationBuilder<IdMgr, Key, StoBase, BufBase, SerBase, ProcBase> where
IdMgr: Default + PrimaryIdManager,
Key: Debug + Ord,
StoBase: StoreBase<Id = IdMgr::Id>,
BufBase: BufferBase,
SerBase: ServiceBase,
ProcBase: ProcessBase<IdMgr, Key, StoBase, BufBase, SerBase>,
[src]
IdMgr: Default + PrimaryIdManager,
Key: Debug + Ord,
StoBase: StoreBase<Id = IdMgr::Id>,
BufBase: BufferBase,
SerBase: ServiceBase,
ProcBase: ProcessBase<IdMgr, Key, StoBase, BufBase, SerBase>,