#lookup #vec #hash-map

no-std lookupvec

Container with Vec-like properties that also offers O(1) lookup of items based on an id field

2 releases

0.1.1 Feb 25, 2025
0.1.0 Feb 25, 2025

#493 in Data structures

Download history 105/week @ 2025-02-19 153/week @ 2025-02-26

258 downloads per month

MIT license

37KB
890 lines

LookupVec

Container with Vec-like properties that also offers O(1) lookup of items based on a primary key field

Usage

#[derive(PartialEq, Lookup)]
struct MyStruct {
  #[lookup_key]
  pub name: String,
  pub description: String,
  pub count: usize,
}

let vec = LookupVec.from([
    MyStruct {
        name: "foo",
        description: "description of foo",
        count: 7,
    },
    MyStruct {
        name: "bar",
        description: "description of bar",
        count: 13,
    },
])
assert_eq!(vec[0], vec.get("foo"))
assert_eq!(vec[1], vec.get("bar"))

Dependencies

~1–1.6MB
~31K SLoC