2 releases

0.1.1 Jun 9, 2019
0.1.0 Jun 9, 2019

#2045 in Data structures

Custom license

53KB
949 lines

lhlist

Build Status Documentation

lhlist is a library for Labeled Hetergogeneous Lists.

This library provides data structures and macros for creating and accessing lists of differently-typed objects that each have their own unique label.

For more details, see the documentation.

Usage

Add lhlist to you Cargo.toml:

[dependencies]
lhlist = "0.1"

And use it is as such:

#[macro_use] extern crate lhlist;

use lhlist::Label;

new_label![SomeNumbers: Vec<u64>];
new_label![SomeNames: Vec<&'static str>];
new_label![Flag: bool];

let my_list = lhlist![
    SomeNumbers = vec![0, 4, 5, 2],
    SomeNames = vec!["hello", "world!"],
    Flag = false,
];

assert_eq!(my_list[SomeNumbers], vec![0, 4, 5, 2]);
assert_eq!(my_list[Flag], false);

License

This project is licensed under the MIT license.

Dependencies

~435–720KB
~18K SLoC