## Module slice

1.36.0 · Source
Expand description

Utilities for the slice primitive type.

See also the slice primitive type.

Most of the structs in this module are iterator types which can only be created using a certain function. For example, `slice.iter()` yields an `Iter`.

A few functions are provided to create a slice from a value reference or from a raw pointer.

## Structs§

ArrayWindows
  A windowed iterator over a slice in overlapping chunks (`N` elements at a time), starting at the beginning of the slice
ChunkBy
  An iterator over slice in (non-overlapping) chunks separated by a predicate.
ChunkByMut
  An iterator over slice in (non-overlapping) mutable chunks separated by a predicate.
Chunks
  An iterator over a slice in (non-overlapping) chunks (`chunk_size` elements at a time), starting at the beginning of the slice.
ChunksExact
  An iterator over a slice in (non-overlapping) chunks (`chunk_size` elements at a time), starting at the beginning of the slice.
ChunksExactMut
  An iterator over a slice in (non-overlapping) mutable chunks (`chunk_size` elements at a time), starting at the beginning of the slice.
ChunksMut
  An iterator over a slice in (non-overlapping) mutable chunks (`chunk_size` elements at a time), starting at the beginning of the slice.
EscapeAscii
  An iterator over the escaped version of a byte slice.
Iter
  Immutable slice iterator
IterMut
  Mutable slice iterator.
RChunks
  An iterator over a slice in (non-overlapping) chunks (`chunk_size` elements at a time), starting at the end of the slice.
RChunksExact
  An iterator over a slice in (non-overlapping) chunks (`chunk_size` elements at a time), starting at the end of the slice.
RChunksExactMut
  An iterator over a slice in (non-overlapping) mutable chunks (`chunk_size` elements at a time), starting at the end of the slice.
RChunksMut
  An iterator over a slice in (non-overlapping) mutable chunks (`chunk_size` elements at a time), starting at the end of the slice.
RSplit
  An iterator over subslices separated by elements that match a predicate function, starting from the end of the slice.
RSplitMut
  An iterator over the subslices of the vector which are separated by elements that match `pred`, starting from the end of the slice.
RSplitN
  An iterator over subslices separated by elements that match a predicate function, limited to a given number of splits, starting from the end of the slice.
RSplitNMut
  An iterator over subslices separated by elements that match a predicate function, limited to a given number of splits, starting from the end of the slice.
Split
  An iterator over subslices separated by elements that match a predicate function.
SplitInclusive
  An iterator over subslices separated by elements that match a predicate function. Unlike `Split`, it contains the matched part as a terminator of the subslice.
SplitInclusiveMut
  An iterator over the mutable subslices of the vector which are separated by elements that match `pred`. Unlike `SplitMut`, it contains the matched parts in the ends of the subslices.
SplitMut
  An iterator over the mutable subslices of the vector which are separated by elements that match `pred`.
SplitN
  An iterator over subslices separated by elements that match a predicate function, limited to a given number of splits.
SplitNMut
  An iterator over subslices separated by elements that match a predicate function, limited to a given number of splits.
Windows
  An iterator over overlapping subslices of length `size`.

## Enums§

GetDisjointMutError
  The error type returned by `get_disjoint_mut`.

## Traits§

SliceIndex
  A helper trait used for indexing operations.
ConcatExperimental
  Helper trait for `[T]::concat`.
JoinExperimental
  Helper trait for `[T]::join`

## Functions§

from_mut
  Converts a reference to T into a slice of length 1 (without copying).
from_raw_parts⚠
  Forms a slice from a pointer and a length.
from_raw_parts_mut⚠
  Performs the same functionality as `from_raw_parts`, except that a mutable slice is returned.
from_ref
  Converts a reference to T into a slice of length 1 (without copying).
from_mut_ptr_range⚠Experimental
  Forms a mutable slice from a pointer range.
from_ptr_range⚠Experimental
  Forms a slice from a pointer range.
rangeExperimental
  Performs bounds checking of a range.
try_rangeExperimental
  Performs bounds checking of a range without panicking.