Crate into_index

source ·
Expand description

§IntoIndex

Sometimes it is more convenient to use another type than usize to calculate and store indices. This crate provides an IntoIndex trait that can be used to convert any type into an usize. For types that implement TryInto<usize> this is already implented. Naturally some of these conversions are fallible,​ the into_index() method may panic in this case. A try_into_index() method that returns a Result for handling such errors are available as well.

§At and AtMut

Further the At and AtMut traits use IntoIndex for providing indexing without the associated Output type that is required for the Index and IndexMut traits. A implementation for std Vec<T> is already provided.

§Example

use into_index::{IntoIndex, At};
let v = vec![1,2,3];

assert_eq!(*v.at(1u8), 2);

Traits§

  • Trait to get a reference to an element at a given index.
  • Trait to get a mutable reference to an element at a given index.
  • Trait to convert a types into an usize index.