Crate flex_alloc

Source
Expand description

Data structures with extra flexible storage.

This crate provides highly flexible container types (currently Box, Cow, and Vec) which mimic the API provided in std, with allocation flexibility going beyond what is supported by unstable features such as allocator-api.

Both no-std and no-alloc environments are supported.

§Highlights

  • Optional alloc support, such that application may easily alternate between fixed buffers and heap allocation.
  • Custom allocator implementations, including the ability to spill from a small stack allocation to a heap allocation.
  • Additional fallible update methods, allowing for more ergonomic fixed size collections and handling of allocation errors.
  • const initializers.
  • Support for inline collections.
  • Custom index types and growth behavior to manage memory usage.

Modules§

  • Support for memory allocation.
  • Support for flexibility over owned or borrowed collections.
  • Support for values contained within allocated memory.
  • Types used to specify indexes, ranges, lengths, and capacities of collections.
  • Backing storage types for collections.
  • Support for generic vector structures containing a (generally) resizable, contiguous array of items.

Macros§

  • Allocate a new Vec instance with optional initial items.

Structs§

  • An error raised by collection update operations when appropriate storage was not available. Includes an associated value that could not be stored or converted.

Enums§

  • An enumeration of error types raised by storage implementations.