pub(crate) trait Fissile<P>: Sized {
// Required methods
fn length(&self) -> usize;
fn midpoint(&self, end: usize) -> usize;
fn find(&self, separator: &P, start: usize, end: usize) -> Option<usize>;
fn rfind(&self, separator: &P, end: usize) -> Option<usize>;
fn split_once<const INCL: bool>(self, index: usize) -> (Self, Self);
fn fold_splits<F, const INCL: bool>(
self,
separator: &P,
folder: F,
skip_last: bool,
) -> F
where F: Folder<Self>,
Self: Send;
}Expand description
Helper trait so &str, &[T], and &mut [T] can share SplitProducer.
Required Methods§
fn length(&self) -> usize
fn midpoint(&self, end: usize) -> usize
fn find(&self, separator: &P, start: usize, end: usize) -> Option<usize>
fn rfind(&self, separator: &P, end: usize) -> Option<usize>
fn split_once<const INCL: bool>(self, index: usize) -> (Self, Self)
fn fold_splits<F, const INCL: bool>( self, separator: &P, folder: F, skip_last: bool, ) -> F
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<P: Pattern> Fissile<P> for &str
Implement support for SplitProducer.
impl<P: Pattern> Fissile<P> for &str
Implement support for SplitProducer.
fn length(&self) -> usize
fn midpoint(&self, end: usize) -> usize
fn find(&self, separator: &P, start: usize, end: usize) -> Option<usize>
fn rfind(&self, separator: &P, end: usize) -> Option<usize>
fn split_once<const INCL: bool>(self, index: usize) -> (Self, Self)
fn fold_splits<F, const INCL: bool>(
self,
separator: &P,
folder: F,
skip_last: bool,
) -> Fwhere
F: Folder<Self>,
Source§impl<T, P> Fissile<P> for &[T]
Implement support for SplitProducer.
impl<T, P> Fissile<P> for &[T]
Implement support for SplitProducer.
fn length(&self) -> usize
fn midpoint(&self, end: usize) -> usize
fn find(&self, separator: &P, start: usize, end: usize) -> Option<usize>
fn rfind(&self, separator: &P, end: usize) -> Option<usize>
fn split_once<const INCL: bool>(self, index: usize) -> (Self, Self)
fn fold_splits<F, const INCL: bool>( self, separator: &P, folder: F, skip_last: bool, ) -> F
Source§impl<T, P> Fissile<P> for &mut [T]
Implement support for SplitProducer.
impl<T, P> Fissile<P> for &mut [T]
Implement support for SplitProducer.