Macro lattices::GhtType

source ·
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();