Struct ArrayChunks

struct ArrayChunks<I: Iterator, N: usize> { ... }

An iterator over N elements of the iterator at a time.

The chunks do not overlap. If N does not divide the length of the iterator, then the last up to N-1 elements will be omitted.

This struct is created by the [array_chunks][Iterator::array_chunks] method on Iterator. See its documentation for more.

Implementations

impl<I, N: usize> ArrayChunks<I, N>

fn into_remainder(self: Self) -> IntoIter<<I as >::Item, N>

Returns an iterator over the remaining elements of the original iterator that are not going to be returned by this iterator. The returned iterator will yield at most N-1 elements.

Example

# // Also serves as a regression test for https://github.com/rust-lang/rust/issues/123333
# #![feature(iter_array_chunks)]
let x = [1,2,3,4,5].into_iter().array_chunks::<2>();
let mut rem = x.into_remainder();
assert_eq!(rem.next(), Some(5));
assert_eq!(rem.next(), None);

impl<I> IntoIterator for ArrayChunks<I, N>

fn into_iter(self: Self) -> I

impl<I, N: usize> DoubleEndedIterator for ArrayChunks<I, N>

fn next_back(self: &mut Self) -> Option<<Self as >::Item>
fn try_rfold<B, F, R>(self: &mut Self, init: B, f: F) -> R
where
    Self: Sized,
    F: FnMut(B, <Self as >::Item) -> R,
    R: Try<Output = B>
fn rfold<AAA, FFF>(self: Self, init: AAA, fold: FFF) -> AAA
where
    FFF: FnMut(AAA, <Self as >::Item) -> AAA

impl<I, N: usize> ExactSizeIterator for ArrayChunks<I, N>

fn len(self: &Self) -> usize
fn is_empty(self: &Self) -> bool

impl<I, N: usize> Freeze for ArrayChunks<I, N>

impl<I, N: usize> FusedIterator for ArrayChunks<I, N>

impl<I, N: usize> Iterator for ArrayChunks<I, N>

fn next(self: &mut Self) -> Option<<Self as >::Item>
fn size_hint(self: &Self) -> (usize, Option<usize>)
fn count(self: Self) -> usize
fn try_fold<B, F, R>(self: &mut Self, init: B, f: F) -> R
where
    Self: Sized,
    F: FnMut(B, <Self as >::Item) -> R,
    R: Try<Output = B>
fn fold<B, F>(self: Self, init: B, f: F) -> B
where
    Self: Sized,
    F: FnMut(B, <Self as >::Item) -> B

impl<I, N: usize> RefUnwindSafe for ArrayChunks<I, N>

impl<I, N: usize> Send for ArrayChunks<I, N>

impl<I, N: usize> Sync for ArrayChunks<I, N>

impl<I, N: usize> Unpin for ArrayChunks<I, N>

impl<I, N: usize> UnsafeUnpin for ArrayChunks<I, N>

impl<I, N: usize> UnwindSafe for ArrayChunks<I, N>

impl<I: $crate::clone::Clone + Iterator, N: usize> Clone for ArrayChunks<I, N>

fn clone(self: &Self) -> ArrayChunks<I, N>

impl<I: $crate::fmt::Debug + Iterator, N: usize> Debug for ArrayChunks<I, N>

fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result

impl<T> Any for ArrayChunks<I, N>

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for ArrayChunks<I, N>

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for ArrayChunks<I, N>

fn borrow_mut(self: &mut Self) -> &mut T

impl<T> CloneToUninit for ArrayChunks<I, N>

unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)

impl<T> From for ArrayChunks<I, N>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into for ArrayChunks<I, N>

fn into(self: Self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom for ArrayChunks<I, N>

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto for ArrayChunks<I, N>

fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>