#index #value #container #list #positional #associated #associative

associative_positional_list

AssociativePositionalList is a list-like container in which each value is associated with an index, but unlike other list containers, the index for a value can be determined efficiently

4 releases

0.1.3 Apr 8, 2023
0.1.2 Mar 4, 2023
0.1.1 Feb 4, 2023
0.1.0 Feb 4, 2023

#2155 in Data structures

MIT/Apache

49KB
874 lines

AssociativePositionalList (Rust crate)

AssociativePositionalList is a positional container in which each value is associated with an index, starting at 0 for the first element. Values can be inserted and removed at any index (with logarithmic time complexity). The value at any index can be accessed with get. But unlike other list containers such as Vec, the association between index and value is reversible, and the index for a value may be determined using find.

Notes

Items in AssociativePositionalList must be unique so that find is unambiguous. They must also be Cloneable and Hashable.

This crate was developed by a relative newcomer to Rust as part of a learning exercise. It may not be very efficient. Some of the interfaces you may expect as part of a list container (or a set) are not present.

Aside from the tests within the crate source code, a complete usage example can be found here.

No runtime deps