macro_rules! GhtType { (() => $( $z:ty ),*: $storage:ident) => { ... }; ($( $b:ty ),* => (): $storage:ident) => { ... }; ($( $b:ty ),* => $( $z:ty ),*: $storage:ident) => { ... }; }
Expand description
Public macro for constructing a Ght struct with the given schema and storage type
§Example
use lattices::GhtType;
use variadics::variadic_collections::VariadicHashSet;
// This generates a Ght struct with (u16, u32) as key, (u64) as val, and VariadicHashSet as storage
type MyHashGht = GhtType!(u16, u32 => u64: VariadicHashSet);
let my_ght = MyHashGht::default();
/// // This generates a Ght struct with (u16, u32) as key, () as val, and VariadicCountedHashSet as storage
type MyMultisetGht = GhtType!(u16, u32 => (): VariadicCountedHashSet);
let my_ght = MyMultisetGht::default();
// This generates a Ght struct with (u16, u32) as key, () as val, and VariadicColumnSet as storage
type MyColumnarMultisetGht = GhtType!(u16, u32 => (): VariadicColumnMultiset);
let my_ght = MyColumnarMultisetGht::default();