pub struct StreamBundler<C: MpcConfig, BFDS: CorrelatedStream<DaBit<BaseFieldOf<C>>>, BFSS: CorrelatedStream<Singlet<BaseFieldOf<C>>>, BFTS: CorrelatedStream<Triple<BaseFieldOf<C>>>, BSS: CorrelatedStream<Singlet<Gf2_128>>, BTS: CorrelatedStream<Triple<Gf2_128>>, MDS: CorrelatedStream<DaBit<MpcFieldOf<C>>>, MSS: CorrelatedStream<Singlet<MpcFieldOf<C>>>, MTS: CorrelatedStream<Triple<MpcFieldOf<C>>>, SDS: CorrelatedStream<DaBit<ScalarFieldOf<C>>>, SSS: CorrelatedStream<Singlet<ScalarFieldOf<C>>>, STS: CorrelatedStream<Triple<ScalarFieldOf<C>>>> {
pub basefield_dabit_stream: BFDS,
pub basefield_singlet_stream: BFSS,
pub basefield_triple_stream: BFTS,
pub binary_singlet_stream: BSS,
pub binary_triple_stream: BTS,
pub mpc_field_dabit_stream: MDS,
pub mpc_field_singlet_stream: MSS,
pub mpc_field_triple_stream: MTS,
pub scalar_dabit_stream: SDS,
pub scalar_singlet_stream: SSS,
pub scalar_triple_stream: STS,
pub _c: PhantomData<C>,
}Expand description
Stream bundler, holding one stream per preprocessing type, to provide all preprocessing for a circuit via its streams.
Fields§
§basefield_dabit_stream: BFDS§basefield_singlet_stream: BFSS§basefield_triple_stream: BFTS§binary_singlet_stream: BSS§binary_triple_stream: BTS§mpc_field_dabit_stream: MDS§mpc_field_singlet_stream: MSS§mpc_field_triple_stream: MTS§scalar_dabit_stream: SDS§scalar_singlet_stream: SSS§scalar_triple_stream: STS§_c: PhantomData<C>Implementations§
Source§impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>where
C: MpcConfig,
BFDS: CorrelatedStream<DaBit<BaseFieldOf<C>>>,
BFSS: CorrelatedStream<Singlet<BaseFieldOf<C>>>,
BFTS: CorrelatedStream<Triple<BaseFieldOf<C>>>,
BSS: CorrelatedStream<Singlet<Gf2_128>>,
BTS: CorrelatedStream<Triple<Gf2_128>>,
MDS: CorrelatedStream<DaBit<MpcFieldOf<C>>>,
MSS: CorrelatedStream<Singlet<MpcFieldOf<C>>>,
MTS: CorrelatedStream<Triple<MpcFieldOf<C>>>,
SDS: CorrelatedStream<DaBit<ScalarFieldOf<C>>>,
SSS: CorrelatedStream<Singlet<ScalarFieldOf<C>>>,
STS: CorrelatedStream<Triple<ScalarFieldOf<C>>>,
impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>where
C: MpcConfig,
BFDS: CorrelatedStream<DaBit<BaseFieldOf<C>>>,
BFSS: CorrelatedStream<Singlet<BaseFieldOf<C>>>,
BFTS: CorrelatedStream<Triple<BaseFieldOf<C>>>,
BSS: CorrelatedStream<Singlet<Gf2_128>>,
BTS: CorrelatedStream<Triple<Gf2_128>>,
MDS: CorrelatedStream<DaBit<MpcFieldOf<C>>>,
MSS: CorrelatedStream<Singlet<MpcFieldOf<C>>>,
MTS: CorrelatedStream<Triple<MpcFieldOf<C>>>,
SDS: CorrelatedStream<DaBit<ScalarFieldOf<C>>>,
SSS: CorrelatedStream<Singlet<ScalarFieldOf<C>>>,
STS: CorrelatedStream<Triple<ScalarFieldOf<C>>>,
Sourcepub fn new(
basefield_dabit_stream: BFDS,
basefield_singlet_stream: BFSS,
basefield_triple_stream: BFTS,
binary_singlet_stream: BSS,
binary_triple_stream: BTS,
mpc_field_dabit_stream: MDS,
mpc_field_singlet_stream: MSS,
mpc_field_triple_stream: MTS,
scalar_dabit_stream: SDS,
scalar_singlet_stream: SSS,
scalar_triple_stream: STS,
) -> Self
pub fn new( basefield_dabit_stream: BFDS, basefield_singlet_stream: BFSS, basefield_triple_stream: BFTS, binary_singlet_stream: BSS, binary_triple_stream: BTS, mpc_field_dabit_stream: MDS, mpc_field_singlet_stream: MSS, mpc_field_triple_stream: MTS, scalar_dabit_stream: SDS, scalar_singlet_stream: SSS, scalar_triple_stream: STS, ) -> Self
Creates a new bundler from the given streams.
Source§impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>where
C: MpcConfig,
BFDS: CorrelatedStream<DaBit<BaseFieldOf<C>>, Error = AbortError>,
BFSS: CorrelatedStream<Singlet<BaseFieldOf<C>>, Error = AbortError>,
BFTS: CorrelatedStream<Triple<BaseFieldOf<C>>, Error = AbortError>,
BSS: CorrelatedStream<Singlet<Gf2_128>, Error = AbortError>,
BTS: CorrelatedStream<Triple<Gf2_128>, Error = AbortError>,
MDS: CorrelatedStream<DaBit<MpcFieldOf<C>>, Error = AbortError>,
MSS: CorrelatedStream<Singlet<MpcFieldOf<C>>, Error = AbortError>,
MTS: CorrelatedStream<Triple<MpcFieldOf<C>>, Error = AbortError>,
SDS: CorrelatedStream<DaBit<ScalarFieldOf<C>>, Error = AbortError>,
SSS: CorrelatedStream<Singlet<ScalarFieldOf<C>>, Error = AbortError>,
STS: CorrelatedStream<Triple<ScalarFieldOf<C>>, Error = AbortError>,
impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>where
C: MpcConfig,
BFDS: CorrelatedStream<DaBit<BaseFieldOf<C>>, Error = AbortError>,
BFSS: CorrelatedStream<Singlet<BaseFieldOf<C>>, Error = AbortError>,
BFTS: CorrelatedStream<Triple<BaseFieldOf<C>>, Error = AbortError>,
BSS: CorrelatedStream<Singlet<Gf2_128>, Error = AbortError>,
BTS: CorrelatedStream<Triple<Gf2_128>, Error = AbortError>,
MDS: CorrelatedStream<DaBit<MpcFieldOf<C>>, Error = AbortError>,
MSS: CorrelatedStream<Singlet<MpcFieldOf<C>>, Error = AbortError>,
MTS: CorrelatedStream<Triple<MpcFieldOf<C>>, Error = AbortError>,
SDS: CorrelatedStream<DaBit<ScalarFieldOf<C>>, Error = AbortError>,
SSS: CorrelatedStream<Singlet<ScalarFieldOf<C>>, Error = AbortError>,
STS: CorrelatedStream<Triple<ScalarFieldOf<C>>, Error = AbortError>,
Sourcepub fn prefetch(&self, req: &CircuitPreprocessing) -> PrefetchHandle<AbortError>
pub fn prefetch(&self, req: &CircuitPreprocessing) -> PrefetchHandle<AbortError>
Prefetches the given amount into every stream and returns a single PrefetchHandle that
resolves once all of them complete (first error wins). The prefetches run concurrently in
the background; the handle can be awaited or dropped.
Sourcepub async fn resync(
&self,
targets: &CircuitPreprocessing,
) -> Result<(), AbortError>
pub async fn resync( &self, targets: &CircuitPreprocessing, ) -> Result<(), AbortError>
Advances every stream to its per-type target, realigning all parties on the same prefix.
All-or-nothing on rewinds: any target behind a stream’s current position is rejected before touching any stream. Otherwise all resyncs are dispatched together, every handle awaited, and the first error (if any) returned — no short-circuiting mid-fan-out.
Source§impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>where
C: MpcConfig,
BFDS: CorrelatedStream<DaBit<BaseFieldOf<C>>> + Buffer,
BFSS: CorrelatedStream<Singlet<BaseFieldOf<C>>> + Buffer,
BFTS: CorrelatedStream<Triple<BaseFieldOf<C>>> + Buffer,
BSS: CorrelatedStream<Singlet<Gf2_128>> + Buffer,
BTS: CorrelatedStream<Triple<Gf2_128>> + Buffer,
MDS: CorrelatedStream<DaBit<MpcFieldOf<C>>> + Buffer,
MSS: CorrelatedStream<Singlet<MpcFieldOf<C>>> + Buffer,
MTS: CorrelatedStream<Triple<MpcFieldOf<C>>> + Buffer,
SDS: CorrelatedStream<DaBit<ScalarFieldOf<C>>> + Buffer,
SSS: CorrelatedStream<Singlet<ScalarFieldOf<C>>> + Buffer,
STS: CorrelatedStream<Triple<ScalarFieldOf<C>>> + Buffer,
impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>where
C: MpcConfig,
BFDS: CorrelatedStream<DaBit<BaseFieldOf<C>>> + Buffer,
BFSS: CorrelatedStream<Singlet<BaseFieldOf<C>>> + Buffer,
BFTS: CorrelatedStream<Triple<BaseFieldOf<C>>> + Buffer,
BSS: CorrelatedStream<Singlet<Gf2_128>> + Buffer,
BTS: CorrelatedStream<Triple<Gf2_128>> + Buffer,
MDS: CorrelatedStream<DaBit<MpcFieldOf<C>>> + Buffer,
MSS: CorrelatedStream<Singlet<MpcFieldOf<C>>> + Buffer,
MTS: CorrelatedStream<Triple<MpcFieldOf<C>>> + Buffer,
SDS: CorrelatedStream<DaBit<ScalarFieldOf<C>>> + Buffer,
SSS: CorrelatedStream<Singlet<ScalarFieldOf<C>>> + Buffer,
STS: CorrelatedStream<Triple<ScalarFieldOf<C>>> + Buffer,
Sourcepub fn buffer_configs(&self) -> [SharedBufferConfig; 11]
pub fn buffer_configs(&self) -> [SharedBufferConfig; 11]
The shared buffer config of every stream. The returned array is a Buffer slice, so
the whole bundle can be tuned in one call: bundler.buffer_configs().set_capacity(n)
writes all streams, while .capacity() etc. read the first.
Trait Implementations§
Source§impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> Bundler for StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>where
C: MpcConfig,
BFDS: CorrelatedStream<DaBit<BaseFieldOf<C>>, Error = AbortError>,
BFSS: CorrelatedStream<Singlet<BaseFieldOf<C>>, Error = AbortError>,
BFTS: CorrelatedStream<Triple<BaseFieldOf<C>>, Error = AbortError>,
BSS: CorrelatedStream<Singlet<Gf2_128>, Error = AbortError>,
BTS: CorrelatedStream<Triple<Gf2_128>, Error = AbortError>,
MDS: CorrelatedStream<DaBit<MpcFieldOf<C>>, Error = AbortError>,
MSS: CorrelatedStream<Singlet<MpcFieldOf<C>>, Error = AbortError>,
MTS: CorrelatedStream<Triple<MpcFieldOf<C>>, Error = AbortError>,
SDS: CorrelatedStream<DaBit<ScalarFieldOf<C>>, Error = AbortError>,
SSS: CorrelatedStream<Singlet<ScalarFieldOf<C>>, Error = AbortError>,
STS: CorrelatedStream<Triple<ScalarFieldOf<C>>, Error = AbortError>,
impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> Bundler for StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>where
C: MpcConfig,
BFDS: CorrelatedStream<DaBit<BaseFieldOf<C>>, Error = AbortError>,
BFSS: CorrelatedStream<Singlet<BaseFieldOf<C>>, Error = AbortError>,
BFTS: CorrelatedStream<Triple<BaseFieldOf<C>>, Error = AbortError>,
BSS: CorrelatedStream<Singlet<Gf2_128>, Error = AbortError>,
BTS: CorrelatedStream<Triple<Gf2_128>, Error = AbortError>,
MDS: CorrelatedStream<DaBit<MpcFieldOf<C>>, Error = AbortError>,
MSS: CorrelatedStream<Singlet<MpcFieldOf<C>>, Error = AbortError>,
MTS: CorrelatedStream<Triple<MpcFieldOf<C>>, Error = AbortError>,
SDS: CorrelatedStream<DaBit<ScalarFieldOf<C>>, Error = AbortError>,
SSS: CorrelatedStream<Singlet<ScalarFieldOf<C>>, Error = AbortError>,
STS: CorrelatedStream<Triple<ScalarFieldOf<C>>, Error = AbortError>,
Source§type Iterator = PreprocessingIterator<C>
type Iterator = PreprocessingIterator<C>
Source§fn fetch(
&mut self,
req: &CircuitPreprocessing,
) -> Result<PreprocessingIterator<C>, BundlerError>
fn fetch( &mut self, req: &CircuitPreprocessing, ) -> Result<PreprocessingIterator<C>, BundlerError>
Source§fn fetch_for<Consumer>(
&mut self,
consumer: &Consumer,
) -> Result<Self::Iterator, BundlerError>where
Consumer: BundleConsumer<Iterator = Self::Iterator>,
fn fetch_for<Consumer>(
&mut self,
consumer: &Consumer,
) -> Result<Self::Iterator, BundlerError>where
Consumer: BundleConsumer<Iterator = Self::Iterator>,
Source§impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> BundlerPositions for StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>where
C: MpcConfig,
BFDS: CorrelatedStream<DaBit<BaseFieldOf<C>>, Error = AbortError>,
BFSS: CorrelatedStream<Singlet<BaseFieldOf<C>>, Error = AbortError>,
BFTS: CorrelatedStream<Triple<BaseFieldOf<C>>, Error = AbortError>,
BSS: CorrelatedStream<Singlet<Gf2_128>, Error = AbortError>,
BTS: CorrelatedStream<Triple<Gf2_128>, Error = AbortError>,
MDS: CorrelatedStream<DaBit<MpcFieldOf<C>>, Error = AbortError>,
MSS: CorrelatedStream<Singlet<MpcFieldOf<C>>, Error = AbortError>,
MTS: CorrelatedStream<Triple<MpcFieldOf<C>>, Error = AbortError>,
SDS: CorrelatedStream<DaBit<ScalarFieldOf<C>>, Error = AbortError>,
SSS: CorrelatedStream<Singlet<ScalarFieldOf<C>>, Error = AbortError>,
STS: CorrelatedStream<Triple<ScalarFieldOf<C>>, Error = AbortError>,
impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> BundlerPositions for StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>where
C: MpcConfig,
BFDS: CorrelatedStream<DaBit<BaseFieldOf<C>>, Error = AbortError>,
BFSS: CorrelatedStream<Singlet<BaseFieldOf<C>>, Error = AbortError>,
BFTS: CorrelatedStream<Triple<BaseFieldOf<C>>, Error = AbortError>,
BSS: CorrelatedStream<Singlet<Gf2_128>, Error = AbortError>,
BTS: CorrelatedStream<Triple<Gf2_128>, Error = AbortError>,
MDS: CorrelatedStream<DaBit<MpcFieldOf<C>>, Error = AbortError>,
MSS: CorrelatedStream<Singlet<MpcFieldOf<C>>, Error = AbortError>,
MTS: CorrelatedStream<Triple<MpcFieldOf<C>>, Error = AbortError>,
SDS: CorrelatedStream<DaBit<ScalarFieldOf<C>>, Error = AbortError>,
SSS: CorrelatedStream<Singlet<ScalarFieldOf<C>>, Error = AbortError>,
STS: CorrelatedStream<Triple<ScalarFieldOf<C>>, Error = AbortError>,
Source§fn positions(&self) -> CircuitPreprocessing
fn positions(&self) -> CircuitPreprocessing
Source§fn buffered(&self) -> CircuitPreprocessing
fn buffered(&self) -> CircuitPreprocessing
positions.Source§async fn resync(&self, targets: &CircuitPreprocessing) -> Result<(), AbortError>
async fn resync(&self, targets: &CircuitPreprocessing) -> Result<(), AbortError>
target, realigning all parties on the same prefix —
the recovery primitive for a peer whose positions fell behind. See
StreamBundler::resync. Read moreAuto Trait Implementations§
impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> Freeze for StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>
impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> RefUnwindSafe for StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>where
BFDS: RefUnwindSafe,
BFSS: RefUnwindSafe,
BFTS: RefUnwindSafe,
BSS: RefUnwindSafe,
BTS: RefUnwindSafe,
MDS: RefUnwindSafe,
MSS: RefUnwindSafe,
MTS: RefUnwindSafe,
SDS: RefUnwindSafe,
SSS: RefUnwindSafe,
STS: RefUnwindSafe,
C: RefUnwindSafe,
impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> Send for StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>
impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> Sync for StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>
impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> Unpin for StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>
impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> UnsafeUnpin for StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>where
BFDS: UnsafeUnpin,
BFSS: UnsafeUnpin,
BFTS: UnsafeUnpin,
BSS: UnsafeUnpin,
BTS: UnsafeUnpin,
MDS: UnsafeUnpin,
MSS: UnsafeUnpin,
MTS: UnsafeUnpin,
SDS: UnsafeUnpin,
SSS: UnsafeUnpin,
STS: UnsafeUnpin,
impl<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS> UnwindSafe for StreamBundler<C, BFDS, BFSS, BFTS, BSS, BTS, MDS, MSS, MTS, SDS, SSS, STS>where
BFDS: UnwindSafe,
BFSS: UnwindSafe,
BFTS: UnwindSafe,
BSS: UnwindSafe,
BTS: UnwindSafe,
MDS: UnwindSafe,
MSS: UnwindSafe,
MTS: UnwindSafe,
SDS: UnwindSafe,
SSS: UnwindSafe,
STS: UnwindSafe,
C: UnwindSafe,
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<C, T> PreprocessingBundler<C> for T
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.