2 unstable releases
0.2.0 | Dec 1, 2023 |
---|---|
0.1.0 | Dec 1, 2023 |
#2509 in Data structures
6KB
109 lines
Ati, ergonomic indexing of Vec
The ati
crate introduces the At
trait, and implements it for Vec
,
VecDeque
, [T; L]
and LinkedList
.
The At
trait adds a at
and at_mut
method, which allows collections to be
indexed by u8, u16, u32, u64, u128
, as well as i8, i16, i32, i64, i128, isize
.
Negative indexes allows for indexing in the reverse direction, exactly how the
Javascript
at
function works, or Python indexing.
Examples
use ati::At;
fn main() {
let mut v = vec![1,2,3];
assert_eq!(1, *v.at(0u8));
assert_eq!(3, *v.at(-1u128));
*v.at_mut(-1) = 5;
assert_eq!(&[1, 2, 5], &v[..]);
}
lib.rs
:
Ergonomic indexing of standard collections using at
method.