pub struct Lines<'a> { /* private fields */ }Expand description
A Lender over the lines on Bytes
The reason for this being a Lender, rather than a regular
Iterator is because the Bytes use a GapBuffer within,
which means that any line may be split in two. In order to still
return it as an &str, a new String needs to be allocated,
which will be owned by the Lines, hence the Lender trait.
Trait Implementations§
Source§impl<'a> DoubleEndedLender for Lines<'a>
impl<'a> DoubleEndedLender for Lines<'a>
fn next_back(&mut self) -> Option<Lend<'_, Self>>
fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
fn nth_back(&mut self, n: usize) -> Option<Self::Lend>
fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
fn rfold<B, F>(self, init: B, f: F) -> B
fn rfind<P>(&mut self, predicate: P) -> Option<Self::Lend>
Source§impl<'a> ExactSizeLender for Lines<'a>
impl<'a> ExactSizeLender for Lines<'a>
Source§impl<'a> Lender for Lines<'a>
impl<'a> Lender for Lines<'a>
Source§fn next(&mut self) -> Option<Lend<'_, Self>>
fn next(&mut self) -> Option<Lend<'_, Self>>
Yield the next lend, if any, of the lender. Read more
Source§fn size_hint(&self) -> (usize, Option<usize>)
fn size_hint(&self) -> (usize, Option<usize>)
Get the estimated minimum and maximum length of the lender. Use
.len() for the exact length if the lender implements ExactSizeLender. Read moreSource§fn next_chunk(&mut self, chunk_size: usize) -> Chunk<'_, Self>where
Self: Sized,
fn next_chunk(&mut self, chunk_size: usize) -> Chunk<'_, Self>where
Self: Sized,
Take the next
len lends of the lender with temporary lender Chunk. This is the quivalent of cloning the lender and calling take(len) on it. Read moreSource§fn count(self) -> usizewhere
Self: Sized,
fn count(self) -> usizewhere
Self: Sized,
Count the number of lends in the lender by consuming it. Read more
Source§fn last<'call>(&'call mut self) -> Option<Self::Lend>where
Self: Sized,
fn last<'call>(&'call mut self) -> Option<Self::Lend>where
Self: Sized,
Get the last lend of the lender, if any, by consuming it. Read more
Source§fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
Advance the lender by
n lends. If the lender does not have enough lends, return the number of lends left. Read moreSource§fn nth(&mut self, n: usize) -> Option<Self::Lend>
fn nth(&mut self, n: usize) -> Option<Self::Lend>
Yield the nth lend of the lender, if any, by consuming it. If the lender does not have enough lends, returns
None. Read moreSource§fn step_by(self, step: usize) -> StepBy<Self>where
Self: Sized,
fn step_by(self, step: usize) -> StepBy<Self>where
Self: Sized,
Skip
step - 1 lends between each lend of the lender. Read moreSource§fn chain<U>(self, other: U) -> Chain<Self, <U as IntoLender>::Lender>
fn chain<U>(self, other: U) -> Chain<Self, <U as IntoLender>::Lender>
Chain the lender with another lender of the same type. Read more
Source§fn zip<U>(self, other: U) -> Zip<Self, <U as IntoLender>::Lender>where
U: IntoLender,
Self: Sized,
fn zip<U>(self, other: U) -> Zip<Self, <U as IntoLender>::Lender>where
U: IntoLender,
Self: Sized,
Zip the lender with another lender of the same or different type. Read more
Source§fn intersperse<'call>(self, separator: Self::Lend) -> Intersperse<'call, Self>
fn intersperse<'call>(self, separator: Self::Lend) -> Intersperse<'call, Self>
Intersperse each lend of this lender with the given seperator. Read more
Source§fn intersperse_with<'call, G>(
self,
separator: G,
) -> IntersperseWith<'call, Self, G>
fn intersperse_with<'call, G>( self, separator: G, ) -> IntersperseWith<'call, Self, G>
Intersperse each lend of this lender with the seperator produced by the given function. Read more
Source§fn map<F>(self, f: F) -> Map<Self, F>
fn map<F>(self, f: F) -> Map<Self, F>
Map each lend of this lender using the given function. Read more
Source§fn map_into_iter<O, F>(self, f: F) -> MapIntoIter<Self, O, F>
fn map_into_iter<O, F>(self, f: F) -> MapIntoIter<Self, O, F>
Map each lend of this lender into an owned value using the given function. Read more
Source§fn filter<P>(self, predicate: P) -> Filter<Self, P>
fn filter<P>(self, predicate: P) -> Filter<Self, P>
Filter this lender using the given predicate. Read more
Source§fn filter_map<F>(self, f: F) -> FilterMap<Self, F>
fn filter_map<F>(self, f: F) -> FilterMap<Self, F>
Filter and map this lender using the given function. Read more
Source§fn enumerate(self) -> Enumerate<Self>where
Self: Sized,
fn enumerate(self) -> Enumerate<Self>where
Self: Sized,
Enumerate this lender. Each lend is paired with its zero-based index. Read more
Source§fn peekable<'call>(self) -> Peekable<'call, Self>where
Self: Sized,
fn peekable<'call>(self) -> Peekable<'call, Self>where
Self: Sized,
Make this lender peekable, so that it is possible to peek at the next lend without consuming it. Read more
Source§fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
Skip the first contiguous sequence lends of this lender that satisfy the given predicate. Read more
Source§fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
Take the first contiguous sequence lends of this lender that satisfy the given predicate. Read more
Source§fn map_while<P>(self, predicate: P) -> MapWhile<Self, P>
fn map_while<P>(self, predicate: P) -> MapWhile<Self, P>
Map this lender using the given function while it returns
Some. Read moreSource§fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
Skip the first
n lends of this lender. Read moreSource§fn take(self, n: usize) -> Take<Self>where
Self: Sized,
fn take(self, n: usize) -> Take<Self>where
Self: Sized,
Take the first
n lends of this lender. Read moreSource§fn scan<St, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
fn scan<St, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
Documentation is incomplete. Refer to
Iterator::scan for more information.Source§fn flat_map<'call, F>(self, f: F) -> FlatMap<'call, Self, F>
fn flat_map<'call, F>(self, f: F) -> FlatMap<'call, Self, F>
Documentation is incomplete. Refer to
Iterator::flat_map for more informationSource§fn flatten<'call>(self) -> Flatten<'call, Self>
fn flatten<'call>(self) -> Flatten<'call, Self>
Documentation is incomplete. Refer to
Iterator::flatten for more informationSource§fn fuse(self) -> Fuse<Self>where
Self: Sized,
fn fuse(self) -> Fuse<Self>where
Self: Sized,
Documentation is incomplete. Refer to
Iterator::fuse for more informationSource§fn inspect<F>(self, f: F) -> Inspect<Self, F>
fn inspect<F>(self, f: F) -> Inspect<Self, F>
Documentation is incomplete. Refer to
Iterator::inspect for more informationSource§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Documentation is incomplete. Refer to
Iterator::by_ref for more informationSource§fn collect<B>(self) -> Bwhere
Self: Sized,
B: FromLender<Self>,
fn collect<B>(self) -> Bwhere
Self: Sized,
B: FromLender<Self>,
Documentation is incomplete. Refer to
Iterator::collect for more informationSource§fn try_collect<'a, B>(
&'a mut self,
) -> <<Self::Lend as Try>::Residual as Residual<B>>::TryType
fn try_collect<'a, B>( &'a mut self, ) -> <<Self::Lend as Try>::Residual as Residual<B>>::TryType
Documentation is incomplete. Refer to
Iterator::try_collect for more informationSource§fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere
Self: Sized,
E: ExtendLender<Self>,
fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere
Self: Sized,
E: ExtendLender<Self>,
Documentation is incomplete. Refer to
Iterator::collect_into for more informationSource§fn partition<A, E, F>(self, f: F) -> (E, E)
fn partition<A, E, F>(self, f: F) -> (E, E)
Documentation is incomplete. Refer to
Iterator::partition for more informationSource§fn is_partitioned<P>(self, predicate: P) -> bool
fn is_partitioned<P>(self, predicate: P) -> bool
Documentation is incomplete. Refer to
Iterator::is_partitioned for more informationSource§fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
Documentation is incomplete. Refer to
Iterator::try_fold for more informationSource§fn try_for_each<F, R>(&mut self, f: F) -> R
fn try_for_each<F, R>(&mut self, f: F) -> R
Documentation is incomplete. Refer to
Iterator::try_for_each for more informationSource§fn fold<B, F>(self, init: B, f: F) -> B
fn fold<B, F>(self, init: B, f: F) -> B
Documentation is incomplete. Refer to
Iterator::fold for more informationSource§fn reduce<T, F>(self, f: F) -> Option<T>
fn reduce<T, F>(self, f: F) -> Option<T>
Documentation is incomplete. Refer to
Iterator::reduce for more informationSource§fn try_reduce<T, F, R>(
self,
f: F,
) -> <<R as Try>::Residual as Residual<Option<T>>>::TryType
fn try_reduce<T, F, R>( self, f: F, ) -> <<R as Try>::Residual as Residual<Option<T>>>::TryType
Documentation is incomplete. Refer to
Iterator::try_reduce for more informationSource§fn all<F>(&mut self, f: F) -> bool
fn all<F>(&mut self, f: F) -> bool
Documentation is incomplete. Refer to
Iterator::all for more informationSource§fn any<F>(&mut self, f: F) -> bool
fn any<F>(&mut self, f: F) -> bool
Documentation is incomplete. Refer to
Iterator::any for more informationSource§fn find<P>(&mut self, predicate: P) -> Option<Self::Lend>
fn find<P>(&mut self, predicate: P) -> Option<Self::Lend>
Documentation is incomplete. Refer to
Iterator::find for more informationSource§fn find_map<'a, F>(
&'a mut self,
f: F,
) -> Option<<F as FnMutHKAOpt<'a, Self::Lend>>::B>
fn find_map<'a, F>( &'a mut self, f: F, ) -> Option<<F as FnMutHKAOpt<'a, Self::Lend>>::B>
Documentation is incomplete. Refer to
Iterator::find_map for more informationSource§fn try_find<F, R>(
&mut self,
f: F,
) -> <<R as Try>::Residual as Residual<Option<Self::Lend>>>::TryType
fn try_find<F, R>( &mut self, f: F, ) -> <<R as Try>::Residual as Residual<Option<Self::Lend>>>::TryType
Documentation is incomplete. Refer to
Iterator::try_find for more informationSource§fn position<P>(&mut self, predicate: P) -> Option<usize>
fn position<P>(&mut self, predicate: P) -> Option<usize>
Documentation is incomplete. Refer to
Iterator::position for more informationSource§fn rposition<P>(&mut self, predicate: P) -> Option<usize>
fn rposition<P>(&mut self, predicate: P) -> Option<usize>
Documentation is incomplete. Refer to
Iterator::rposition for more informationSource§fn max<T>(self) -> Option<T>
fn max<T>(self) -> Option<T>
Documentation is incomplete. Refer to
Iterator::max for more informationSource§fn min<T>(self) -> Option<T>
fn min<T>(self) -> Option<T>
Documentation is incomplete. Refer to
Iterator::min for more informationSource§fn max_by_key<B, T, F>(self, f: F) -> Option<T>
fn max_by_key<B, T, F>(self, f: F) -> Option<T>
Documentation is incomplete. Refer to
Iterator::max_by_key for more informationSource§fn max_by<T, F>(self, compare: F) -> Option<T>
fn max_by<T, F>(self, compare: F) -> Option<T>
Documentation is incomplete. Refer to
Iterator::max_by for more informationSource§fn min_by_key<B, T, F>(self, f: F) -> Option<T>
fn min_by_key<B, T, F>(self, f: F) -> Option<T>
Documentation is incomplete. Refer to
Iterator::min_by_key for more informationSource§fn min_by<T, F>(self, compare: F) -> Option<T>
fn min_by<T, F>(self, compare: F) -> Option<T>
Documentation is incomplete. Refer to
Iterator::min_by for more informationSource§fn rev(self) -> Rev<Self>where
Self: Sized + DoubleEndedLender,
fn rev(self) -> Rev<Self>where
Self: Sized + DoubleEndedLender,
Documentation is incomplete. Refer to
Iterator::rev for more informationSource§fn unzip<ExtA, ExtB>(self) -> (ExtA, ExtB)where
Self: Sized,
Self::Lend: for<'all> TupleLend<'all>,
ExtA: Default + ExtendLender<FirstShunt<Self>>,
ExtB: Default + ExtendLender<SecondShunt<Self>>,
fn unzip<ExtA, ExtB>(self) -> (ExtA, ExtB)where
Self: Sized,
Self::Lend: for<'all> TupleLend<'all>,
ExtA: Default + ExtendLender<FirstShunt<Self>>,
ExtB: Default + ExtendLender<SecondShunt<Self>>,
Documentation is incomplete. Refer to
Iterator::unzip for more informationSource§fn copied<T>(self) -> Copied<Self>
fn copied<T>(self) -> Copied<Self>
Documentation is incomplete. Refer to
Iterator::copied for more information. Read moreSource§fn cloned<T>(self) -> Cloned<Self>
fn cloned<T>(self) -> Cloned<Self>
Documentation is incomplete. Refer to
Iterator::cloned for more information. Read moreSource§fn sum<S>(self) -> S
fn sum<S>(self) -> S
Documentation is incomplete. Refer to
Iterator::sum for more informationSource§fn product<P>(self) -> Pwhere
Self: Sized,
P: ProductLender<Self>,
fn product<P>(self) -> Pwhere
Self: Sized,
P: ProductLender<Self>,
Documentation is incomplete. Refer to
Iterator::product for more informationSource§fn cmp<L>(self, other: L) -> Orderingwhere
L: IntoLender,
<L as IntoLender>::Lender: for<'all> Lending<'all, Lend = Self::Lend>,
Self::Lend: for<'all> Ord,
Self: Sized,
fn cmp<L>(self, other: L) -> Orderingwhere
L: IntoLender,
<L as IntoLender>::Lender: for<'all> Lending<'all, Lend = Self::Lend>,
Self::Lend: for<'all> Ord,
Self: Sized,
Documentation is incomplete. Refer to
Iterator::cmp for more informationSource§fn cmp_by<L, F>(self, other: L, cmp: F) -> Orderingwhere
Self: Sized,
L: IntoLender,
F: for<'all> FnMut(Self::Lend, <<L as IntoLender>::Lender as Lending<'all>>::Lend) -> Ordering,
fn cmp_by<L, F>(self, other: L, cmp: F) -> Orderingwhere
Self: Sized,
L: IntoLender,
F: for<'all> FnMut(Self::Lend, <<L as IntoLender>::Lender as Lending<'all>>::Lend) -> Ordering,
Documentation is incomplete. Refer to
Iterator::cmp_by for more informationSource§fn partial_cmp<L>(self, other: L) -> Option<Ordering>where
L: IntoLender,
Self::Lend: for<'all> PartialOrd<<<L as IntoLender>::Lender as Lending<'all>>::Lend>,
Self: Sized,
fn partial_cmp<L>(self, other: L) -> Option<Ordering>where
L: IntoLender,
Self::Lend: for<'all> PartialOrd<<<L as IntoLender>::Lender as Lending<'all>>::Lend>,
Self: Sized,
Documentation is incomplete. Refer to
Iterator::partial_cmp for more informationSource§fn partial_cmp_by<L, F>(self, other: L, partial_cmp: F) -> Option<Ordering>where
Self: Sized,
L: IntoLender,
F: for<'all> FnMut(Self::Lend, <<L as IntoLender>::Lender as Lending<'all>>::Lend) -> Option<Ordering>,
fn partial_cmp_by<L, F>(self, other: L, partial_cmp: F) -> Option<Ordering>where
Self: Sized,
L: IntoLender,
F: for<'all> FnMut(Self::Lend, <<L as IntoLender>::Lender as Lending<'all>>::Lend) -> Option<Ordering>,
Documentation is incomplete. Refer to
Iterator::partial_cmp_by for more informationSource§fn eq<L>(self, other: L) -> boolwhere
L: IntoLender,
Self::Lend: for<'all> PartialEq<<<L as IntoLender>::Lender as Lending<'all>>::Lend>,
Self: Sized,
fn eq<L>(self, other: L) -> boolwhere
L: IntoLender,
Self::Lend: for<'all> PartialEq<<<L as IntoLender>::Lender as Lending<'all>>::Lend>,
Self: Sized,
Documentation is incomplete. Refer to
Iterator::eq for more informationSource§fn eq_by<L, F>(self, other: L, eq: F) -> boolwhere
Self: Sized,
L: IntoLender,
F: for<'all> FnMut(Self::Lend, <<L as IntoLender>::Lender as Lending<'all>>::Lend) -> bool,
fn eq_by<L, F>(self, other: L, eq: F) -> boolwhere
Self: Sized,
L: IntoLender,
F: for<'all> FnMut(Self::Lend, <<L as IntoLender>::Lender as Lending<'all>>::Lend) -> bool,
Documentation is incomplete. Refer to
Iterator::eq_by for more informationSource§fn ne<L>(self, other: L) -> boolwhere
L: IntoLender,
Self::Lend: for<'all> PartialEq<<<L as IntoLender>::Lender as Lending<'all>>::Lend>,
Self: Sized,
fn ne<L>(self, other: L) -> boolwhere
L: IntoLender,
Self::Lend: for<'all> PartialEq<<<L as IntoLender>::Lender as Lending<'all>>::Lend>,
Self: Sized,
Documentation is incomplete. Refer to
Iterator::ne for more informationSource§fn lt<L>(self, other: L) -> boolwhere
L: IntoLender,
Self::Lend: for<'all> PartialOrd<<<L as IntoLender>::Lender as Lending<'all>>::Lend>,
Self: Sized,
fn lt<L>(self, other: L) -> boolwhere
L: IntoLender,
Self::Lend: for<'all> PartialOrd<<<L as IntoLender>::Lender as Lending<'all>>::Lend>,
Self: Sized,
Documentation is incomplete. Refer to
Iterator::lt for more informationSource§fn le<L>(self, other: L) -> boolwhere
L: IntoLender,
Self::Lend: for<'all> PartialOrd<<<L as IntoLender>::Lender as Lending<'all>>::Lend>,
Self: Sized,
fn le<L>(self, other: L) -> boolwhere
L: IntoLender,
Self::Lend: for<'all> PartialOrd<<<L as IntoLender>::Lender as Lending<'all>>::Lend>,
Self: Sized,
Documentation is incomplete. Refer to
Iterator::le for more informationSource§fn gt<L>(self, other: L) -> boolwhere
L: IntoLender,
Self::Lend: for<'all> PartialOrd<<<L as IntoLender>::Lender as Lending<'all>>::Lend>,
Self: Sized,
fn gt<L>(self, other: L) -> boolwhere
L: IntoLender,
Self::Lend: for<'all> PartialOrd<<<L as IntoLender>::Lender as Lending<'all>>::Lend>,
Self: Sized,
Documentation is incomplete. Refer to
Iterator::gt for more informationSource§fn ge<L>(self, other: L) -> boolwhere
L: IntoLender,
Self::Lend: for<'all> PartialOrd<<<L as IntoLender>::Lender as Lending<'all>>::Lend>,
Self: Sized,
fn ge<L>(self, other: L) -> boolwhere
L: IntoLender,
Self::Lend: for<'all> PartialOrd<<<L as IntoLender>::Lender as Lending<'all>>::Lend>,
Self: Sized,
Documentation is incomplete. Refer to
Iterator::ge for more informationSource§fn is_sorted<T>(self) -> bool
fn is_sorted<T>(self) -> bool
Documentation is incomplete. Refer to
Iterator::is_sorted for more informationSource§fn is_sorted_by<T, F>(self, compare: F) -> bool
fn is_sorted_by<T, F>(self, compare: F) -> bool
Documentation is incomplete. Refer to
Iterator::is_sorted_by for more informationSource§fn is_sorted_by_key<F, K>(self, f: F) -> bool
fn is_sorted_by_key<F, K>(self, f: F) -> bool
Documentation is incomplete. Refer to
Iterator::is_sorted_by_key for more informationSource§fn iter<'this>(self) -> Iter<'this, Self>
fn iter<'this>(self) -> Iter<'this, Self>
Turn this lender into an Iterator where it has already fulfilled the requirements of the
Iterator trait.Source§fn chunky(self, chunk_size: usize) -> Chunky<Self>where
Self: Sized + ExactSizeLender,
fn chunky(self, chunk_size: usize) -> Chunky<Self>where
Self: Sized + ExactSizeLender,
A lending replacement for
Iterator::array_chunks. Read moreAuto Trait Implementations§
impl<'a> Freeze for Lines<'a>
impl<'a> RefUnwindSafe for Lines<'a>
impl<'a> Send for Lines<'a>
impl<'a> Sync for Lines<'a>
impl<'a> Unpin for Lines<'a>
impl<'a> UnwindSafe for Lines<'a>
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.