Array Tools
A little collection of array-related utils aiming to make life easier.
Stability warning
Requires nightly.
Consider this crate experimental. Some (all?) of currently provided features
are most likely will be integrated into rust's core/std library sooner or
later, and with arrival of const generics public interfaces are most likely
will be changed.
Features
- Metafeature: all features below should work for arrays of any size.
- Initialization with iterator.
- Initizlization with function (with or without index passed as argument).
- By-value into iterator.
- By-value chunks iterator.
- By-value split.
- By-value join.
- No dependency on
stdand no heap allocations.
Examples
use ;
// Initialization with iterator.
let array1: =
try_init_from_iterator.unwrap;
assert_eq!;
// Initialization with function (w/o index).
let mut value = 0u64;
let array2: = init_with;
assert_eq!;
// Initialization with function (w/ index).
let array3: = indexed_init_with;
assert_eq!;
// By-value iterator.
;
let array4: =
indexed_init_with;
let iter = new;
let array5: =
try_init_from_iterator.unwrap;
assert_eq!;
// Split
let array6: = ;
let : = split;
assert_eq!;
assert_eq!;
// Join
let array9: = ;
let array10: = ;
let array11: = join;
assert_eq!;
// Chunks
use ;
use PhantomData;
let array12: = ;
let mut chunks: = new;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;