use crate::{IntoLending, LendRefs, LendRefsMut, Windows, WindowsMut};
pub trait ToLendingIterator: IntoIterator {
fn windows(self, size: usize) -> Windows<Self::IntoIter>
where
Self: Sized,
{
Windows::new(self.into_iter(), size)
}
fn windows_mut(self, size: usize) -> WindowsMut<Self::IntoIter>
where
Self: Sized,
{
WindowsMut::new(self.into_iter(), size)
}
fn into_lending(self) -> IntoLending<Self::IntoIter>
where
Self: Sized,
{
IntoLending::new(self.into_iter())
}
fn lend_refs(self) -> LendRefs<Self::IntoIter>
where
Self: Sized,
{
LendRefs::new(self.into_iter())
}
fn lend_refs_mut(self) -> LendRefsMut<Self::IntoIter>
where
Self: Sized,
{
LendRefsMut::new(self.into_iter())
}
}
impl<I: IntoIterator> ToLendingIterator for I {}