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
std
and 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!;