Provides well-defined traits with single methods that enable the achievement of maximum flexibility and freedom in several different operations instead of imposing abstract subsets.
```rust use cl_aux::Length;
struct SomeCustomArray([i32; 2], [i32; 4]);
impl Length for SomeCustomArray { fn length(&self) -> usize { self.0.length() + self.1.length() } }
fn main() { let v = SomeCustomArray([1, 2], [3, 4, 5, 6]); assert_eq!(v.length(), 6); } ```
Also provides structures for common use-cases.
```rust use cl_aux::ArrayWrapper;
fn main() { let array: [usize; 1] = ArrayWrapper::fromfn(|idx| idx).0; } ```