Trait blake3::join::Join[][src]

pub trait Join {
    fn join<A, B, RA, RB>(
        oper_a: A,
        oper_b: B,
        len_a: usize,
        len_b: usize
    ) -> (RA, RB)
    where
        A: FnOnce() -> RA + Send,
        B: FnOnce() -> RB + Send,
        RA: Send,
        RB: Send
; }
Expand description

The trait that abstracts over single-threaded and multi-threaded recursion.

See the join module docs for more details.

Required methods

fn join<A, B, RA, RB>(
    oper_a: A,
    oper_b: B,
    len_a: usize,
    len_b: usize
) -> (RA, RB) where
    A: FnOnce() -> RA + Send,
    B: FnOnce() -> RB + Send,
    RA: Send,
    RB: Send
[src]

Implementors

impl Join for RayonJoin[src]

fn join<A, B, RA, RB>(
    oper_a: A,
    oper_b: B,
    _len_a: usize,
    _len_b: usize
) -> (RA, RB) where
    A: FnOnce() -> RA + Send,
    B: FnOnce() -> RB + Send,
    RA: Send,
    RB: Send
[src]

impl Join for SerialJoin[src]

fn join<A, B, RA, RB>(
    oper_a: A,
    oper_b: B,
    _len_a: usize,
    _len_b: usize
) -> (RA, RB) where
    A: FnOnce() -> RA + Send,
    B: FnOnce() -> RB + Send,
    RA: Send,
    RB: Send
[src]