pub struct BoxedNodeSend<const N: usize>(pub Box<dyn Node<N> + Send>);
Expand description

A wrapper around a Box<dyn Node>.

Provides the necessary Sized implementation to allow for compatibility with the graph process function.

Useful when the ability to send nodes from one thread to another is required. E.g. this is common when initialising nodes or the audio graph itself on one thread before sending them to the audio thread.

Tuple Fields§

§0: Box<dyn Node<N> + Send>

Implementations§

source§

impl<const N: usize> BoxedNodeSend<N>

source

pub fn new<T>(node: T) -> Self
where T: 'static + Node<N> + Send,

Create a new BoxedNode around the given node.

This is short-hand for BoxedNode::from(Box::new(node)).

Trait Implementations§

source§

impl<const N: usize> Debug for BoxedNodeSend<N>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<const N: usize> Deref for BoxedNodeSend<N>

§

type Target = Box<dyn Node<N> + Send>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<const N: usize> DerefMut for BoxedNodeSend<N>

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
source§

impl<T, const N: usize> From<Box<T>> for BoxedNodeSend<N>
where T: 'static + Node<N> + Send,

source§

fn from(n: Box<T>) -> Self

Converts to this type from the input type.
source§

impl<const N: usize> Into<Box<dyn Node<N> + Send>> for BoxedNodeSend<N>

source§

fn into(self) -> Box<dyn Node<N> + Send>

Converts this type into the (usually inferred) input type.
source§

impl<const N: usize> Node<N> for BoxedNodeSend<N>

source§

fn process( &mut self, inputs: &mut HashMap<usize, Input<N>>, output: &mut [Buffer<N>] )

source§

fn send_msg(&mut self, info: Message)

Auto Trait Implementations§

§

impl<const N: usize> !RefUnwindSafe for BoxedNodeSend<N>

§

impl<const N: usize> Send for BoxedNodeSend<N>

§

impl<const N: usize> !Sync for BoxedNodeSend<N>

§

impl<const N: usize> Unpin for BoxedNodeSend<N>

§

impl<const N: usize> !UnwindSafe for BoxedNodeSend<N>

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.

§

impl<S> FromSample<S> for S

§

fn from_sample_(s: S) -> S

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, U> ToSample<U> for T
where U: FromSample<T>,

§

fn to_sample_(self) -> U

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.
§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,