Struct ppl::pipeline::Pipeline

source ·
pub struct Pipeline<TOut, TCollected, TNext>
where TOut: Send + 'static, TNext: Node<TOut, TCollected> + Send + Sync + 'static,
{ /* private fields */ }
Expand description

The Pipeline struct represents a pipeline of nodes.

The Pipeline struct is generic over the type of the output of the pipeline and the type of the collected result, is created using the pipeline! macro.

Implementations§

source§

impl<TOut, TCollected, TNext> Pipeline<TOut, TCollected, TNext>
where TOut: Send + 'static, TNext: Node<TOut, TCollected> + Send + Sync + 'static,

source

pub fn new( source: OutNode<TOut, TCollected, TNext> ) -> Pipeline<TOut, TCollected, TNext>

Creates a new Pipeline struct.

§Arguments
  • source - The first stage of the pipeline.
source

pub fn start(&mut self)

Starts the pipeline.

This method starts the pipeline by starting the first stage.

§Panics

This method panics if the pipeline is empty.

source

pub fn wait_end(self) -> Option<TCollected>

Waits for the pipeline to finish and collects the result.

This method waits for the pipeline to finish and collects the result.

§Panics

This method panics if the pipeline is empty.

source

pub fn start_and_wait_end(self) -> Option<TCollected>

Start the pipeline and wait for the result. This method will start the pipeline and wait for the result.

§Panics

This method panics if the pipeline is empty.

Trait Implementations§

source§

impl<TOut, TCollected, TNext> Drop for Pipeline<TOut, TCollected, TNext>
where TOut: Send + 'static, TNext: Node<TOut, TCollected> + Send + Sync + 'static,

source§

fn drop(&mut self)

Drop the pipeline.

This method terminates the pipeline by terminating the first stage. After this the termination is propagated to the next stages and so on.

Auto Trait Implementations§

§

impl<TOut, TCollected, TNext> RefUnwindSafe for Pipeline<TOut, TCollected, TNext>
where TCollected: RefUnwindSafe, TNext: RefUnwindSafe, TOut: RefUnwindSafe,

§

impl<TOut, TCollected, TNext> Send for Pipeline<TOut, TCollected, TNext>
where TCollected: Send,

§

impl<TOut, TCollected, TNext> Sync for Pipeline<TOut, TCollected, TNext>
where TCollected: Sync, TOut: Sync,

§

impl<TOut, TCollected, TNext> Unpin for Pipeline<TOut, TCollected, TNext>
where TCollected: Unpin, TOut: Unpin,

§

impl<TOut, TCollected, TNext> UnwindSafe for Pipeline<TOut, TCollected, TNext>
where TCollected: UnwindSafe, TNext: RefUnwindSafe, TOut: UnwindSafe,

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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

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

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

§

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.