Expand description
Auxiliary elements for collections
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;
}
Structs
- Used for serialization, de-serialization or to construct custom arrays.
- Immutable array reference wrapper similar to crate::ArrayWrapper.
- Any mutable item wrapped in this structure is automatically cleaned when dropped.
- Any mutable item wrapped in this structure is automatically cleaned when initialized and dropped.
- A wrapper around
I: Iterator
to workaround trait implementation conflicts - A structure that holds one, and only one
T
.
Enums
- Groups all possible crate errors
Traits
- See Capacity::capacity for more information.
- See CapacityUpperBound::capacity_upper_bound for more information.
- See Clear::clear for more information.
- Dynamic Contiguous Collection
- Dynamic String
- See Extend::extend for more information.
- See Get::get for more information.
- See GetMut::get_mut for more information.
- See Insert::insert for more information.
- See Iter::iter for more information.
- See Length::length for more information.
- See Push::push for more information.
- See Remove::remove for more information.
- See Retain::retain for more information.
- Anything that can hold a collection of items
- See SizeHint::size_hint for more information.
- See Swap::swap for more information.
- See Truncate::truncate for more information.
- See WithCapacity::with_capacity for more information.
Type Aliases
- Alias of core::result::Result<T, Error>