[][src]Crate array_tools

Array Tools

Crate Documentation Build Status

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

Stability notice

Requires nightly.

This crate heavely uses 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

ArrayChunks

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

ArrayIntoIterator

A consuming iterator over array elements.

Enums

ArrayChunk

An item of ArrayChunks iterator.

Functions

indexed_init_with

Creates a new array instance filled with values generated by a given function. This variant expects a function with single argument - an index of element to initialize.

init_with

Creates a new array instance filled with values generated by a given function. This variant expects function without arguments.

join

Joins two arrays.

length_of

Returns the length of array.

split

Splits array into two subarrays.

try_init_from_iterator

Attempts to create instance of array from iterator.

try_init_from_slice

Attempts to create instance of array from slice.