pub struct PipelineBuilder<R, CurrentOut, W>where
R: 'static,
CurrentOut: 'static,
W: 'static,{ /* private fields */ }Expand description
Type-safe pipeline builder for compile-time type checking Type-safe pipeline builder that tracks the current pipeline state at compile time.
Uses a functional approach where each handler addition returns a new builder with updated type information.
Implementations§
Source§impl<R, W> PipelineBuilder<R, R, W>where
R: 'static,
W: 'static,
impl<R, W> PipelineBuilder<R, R, W>where
R: 'static,
W: 'static,
Source§impl<R, CurrentOut, W> PipelineBuilder<R, CurrentOut, W>where
R: 'static,
CurrentOut: 'static,
W: 'static,
impl<R, CurrentOut, W> PipelineBuilder<R, CurrentOut, W>where
R: 'static,
CurrentOut: 'static,
W: 'static,
Sourcepub fn add<H>(self, handler: H) -> PipelineBuilder<R, H::Rout, W>where
H: Handler<Rin = CurrentOut> + 'static,
pub fn add<H>(self, handler: H) -> PipelineBuilder<R, H::Rout, W>where
H: Handler<Rin = CurrentOut> + 'static,
Adds a handler to the pipeline, ensuring type compatibility at compile time.
The handler’s input type (H::Rin) must match the current pipeline output type.
Trait Implementations§
Auto Trait Implementations§
impl<R, CurrentOut, W> Freeze for PipelineBuilder<R, CurrentOut, W>
impl<R, CurrentOut, W> !RefUnwindSafe for PipelineBuilder<R, CurrentOut, W>
impl<R, CurrentOut, W> !Send for PipelineBuilder<R, CurrentOut, W>
impl<R, CurrentOut, W> !Sync for PipelineBuilder<R, CurrentOut, W>
impl<R, CurrentOut, W> Unpin for PipelineBuilder<R, CurrentOut, W>where
CurrentOut: Unpin,
impl<R, CurrentOut, W> !UnwindSafe for PipelineBuilder<R, CurrentOut, W>
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