Module im::vector [] [src]

A vector.

This is an implementation of bitmapped vector tries, which offers highly efficient (amortised linear time) index lookups as well as appending elements to, or popping elements off, either side of the vector.

This is generally the best data structure if you're looking for something list like. If you don't need lookups or updates by index, but do need fast concatenation of whole lists, you should use the CatList instead.

If you're familiar with the Clojure variant, this improves on it by being efficiently extensible at the front as well as the back. If you're familiar with Immutable.js, this is essentially the same, but with easier mutability because Rust has the advantage of direct access to the garbage collector (which in our case is just Arc).



An iterator over vectors with values of type A.


A persistent vector of elements of type A.