Scattered Collections
The crate is part of the linktime project.
A crate for defining linker-managed scattered collections in Rust.
The collections come in a 'referenced' and 'unreferenced' variant. The
referenced variants allow you to access the items as static handles at the
declaration site, while the unreferenced variants allow you to access the items
as a slice only. The latter, unreferenced variants may be more efficient.
Zero-allocation collections
The collections are all zero-allocation. This means that they can be used in
no-std/no-alloc environments, and that they do not contribute to heap usage
whatsoever.
Collections
- [
ScatteredSlice]: A collection of sized items that collected into a slice in an arbitrary order. - [
ScatteredSortedSlice]: A collection of items that are available via slice, in sorted order. - [
ScatteredReferencedSlice]: A collection of items collected into a slice (link order), with eachstaticitem auto-wrapped as [referenced_slice::Ref]. - [
ScatteredSortedReferencedSlice]: A collection of sized items that are available both via sorted slice and via reference at the declaration site (auto-wrapped as [sorted_referenced_slice::Ref]). - [
ScatteredMap]: A collection of key-value pairs that are available via slice, as well as indexed by key.