#collection-traits #traits #collection

no-std cl-aux

Provides elements that describe collections

14 stable releases (4 major)

5.1.0 Aug 23, 2025
5.0.1 Aug 1, 2024
5.0.0 Jul 10, 2024
4.4.0 Oct 23, 2023
1.1.0 Jul 31, 2022

#353 in Development tools

42 downloads per month
Used in 3 crates

Apache-2.0

99KB
3K SLoC

Auxiliary elements for collections

CI crates.io Documentation License Rustc

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.

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.

use cl_aux::ArrayWrapper;

fn main() {
  let _array: [usize; 1] = ArrayWrapper::from_fn(|idx| idx).0;
}

Dependencies

~210KB