# 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).