Derive Macro memtable_macros::Table [−][src]
#[derive(Table)] { // Attributes available to this derive: #[table] }
Expand description
Derives an implementation of the Table trait from memtable
Specifically, this produces a new struct to represent a table that can store the target data as rows within itself. This will also produce a unique data enum whose variants represent the different possible types outlined by individual fields.
Examples
use memtable_macros::Table; #[derive(Table)] struct User { name: String, age: u8, } let mut table = UserTable::new(); table.push_row(User { name: "Fred Flintstone".to_string(), age: 51, }); table.push_row(User { name: "Wilma Flintstone".to_string(), age: 47, }); // Retrieving data comes back as a tuple of all of the fields let (name, age) = table.row(0).unwrap(); assert_eq!(name, "Fred Flintstone"); assert_eq!(*age, 51);