stride
A strided slice type.
Getting started
This crate provides a slice-like Stride<T, S>
type where elements are spaced
a constant S
elements in memory.
For example, given an underlying slice &[1, 2, 3, 4, 5, 6]
, the elements
&[1, 3, 5]
are a strided slice with a stride of 2. This crate makes use of
const generics to provide the stride value S
at compile time so that there is
no runtime memory overhead to strided slices; Stride
takes up the same amount
of space as a slice.
Many slice-like operations are implemented for Stride
including iteration and
indexing. Method names are similar to those of the slice type.
use Stride;
// The underlying data.
let data = &mut ;
// Create a strided slice with a stride of `2` referring to
// elements `1`, `7`, and `5`.
let stride = new_mut;
assert_eq!;
// We can use indexing to view values ..
assert_eq!;
assert_eq!;
// .. or modify them.
stride = 3;
assert_eq!;
assert_eq!;
See the API documentation for more.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.