# Velect: A Vec with item selection `velect` is a Rust crate that provides a vector-like type with item selection functionality - which here means either zero or one index from the vector is "selected" and can be retrieved easily without needing to manually track the index of the selected item Velect does the index tracking for you - it maintains the selected index, updating it whenever a mutation necessitates it. ## Interface Velect implements `Deref>`, which allows you to use all non-mutating functions from `Vec` as well as `[T]` transparently. Mutating functions (those taking `&mut self` as a parameter) are reimplemented with compatible interfaces, helping make `Velect` a close-to-drop-in replacement for `Vec`. Additionally, `Velect` also implements many of the same traits as `Vec`. ## License Velect is licensed under MPL 2.0 which allows you to use it in your project as a library for almost any use case with proper attribution. Modifications of Velect should be licensed under a similar license. ## Contributing I welcome PRs and issue creation. When contributing code you agree to assign copyright of the code you contribute to the project in the understanding it will remain licensed under MPL 2.0 or another similarly weak or stronger copyleft license.