# Module alloc::slice

1.0.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

- ArrayChunks Experimental
  An iterator over a slice in (non-overlapping) chunks (`N` elements at a time), starting at the beginning of the slice.
- ArrayChunksMut Experimental
  An iterator over a slice in (non-overlapping) mutable chunks (`N` elements at a time), starting at the beginning of the slice.
- ArrayWindows Experimental
  A windowed iterator over a slice in overlapping chunks (`N` elements at a time), starting at the beginning of the slice
- GroupBy Experimental
  An iterator over slice in (non-overlapping) chunks separated by a predicate.
- GroupByMut Experimental
  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`.

## Traits

- Concat Experimental
  Helper trait for `[T]::concat`.
- Join Experimental
  Helper trait for `[T]::join`
- SliceIndex
  A helper trait used for indexing operations.

## Functions

- from_mut_ptr_range⚠Experimental
  Forms a mutable slice from a pointer range.
- from_ptr_range⚠Experimental
  Forms a slice from a pointer range.
- range Experimental
  Performs bounds-checking of a range.
- 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).