Crate array_tools[][src]

Array Tools

Crate Documentation Build Status Build status

A collection of tools to help dealing with our beloved ❤️ fixed size arrays (Including generic contexts).

Stability notice

Requires nightly.

This crate depends on FixedSizeArray trait, which is currently experimental. Because of this, crate is experimental as well. No other sources of severe breakage should be expected.

Features

  • Metafeature: all features below should work for arrays of any size.
  • Initialization with iterator.
  • Initialization with function (with or without index as argument).
  • Consuming iterator.
  • Consuming chunks iterator.
  • Consuming split.
  • Consuming join.
  • No dependency on std and no heap allocations, thanks to underlaying fixed-capacity stack-allocated deque-like structure.

Examples

See documentation for examples, it covers most if not all use cases.

Contributing

Contributions of any shape and form are welcome.

Structs

Chunks

A consuming iterator over non-overlaping subarrays of equal size.

IntoIter

A consuming iterator over array elements.

Enums

Chunk

An item of Chunks iterator.

Functions

init_with

Attempts to initialize array with values provided by function.

init_with_iter

Attempts to initialize array of T with iterator over T values.

init_with_mapped_idx

Attempts to initialize array with values obtained by mapping indices.

init_with_slice

Attempts to initialize array of T with slice of T ([T]).

join

Joins two arrays.

length_of

Returns the length of array.

split

Splits array into two subarrays.

try_init_with

Attempts to initialize array with values provided by function.

try_init_with_iter

Attempts to initialize array of T with iterator over Result<T, E> values.

try_init_with_mapped_idx

Attempts to initialize array with values obtained by mapping indices.