Trait lattices::ght::lattice::DeepJoinLatticeBimorphism

source ·
pub trait DeepJoinLatticeBimorphism<Storage> {
    type DeepJoinLatticeBimorphism;
}
Expand description

bimorphism trait for equijoin on full tuple (keys in all GhtInner nodes)

Required Associated Types§

source

type DeepJoinLatticeBimorphism

bimorphism type for equijoin on full tuple (keys in all GhtInner nodes)

Implementations on Foreign Types§

source§

impl<Head, NodeA, NodeB, Storage> DeepJoinLatticeBimorphism<Storage> for (GhtInner<Head, NodeA>, GhtInner<Head, NodeB>)
where Head: 'static + Hash + Eq + Clone, NodeA: 'static + GeneralizedHashTrieNode, NodeB: 'static + GeneralizedHashTrieNode, NodeA::Storage: VariadicSet<Schema = NodeA::Schema>, NodeB::Storage: VariadicSet<Schema = NodeB::Schema>, (NodeA, NodeB): DeepJoinLatticeBimorphism<Storage>, Storage: VariadicSet<Schema = <NodeA::Schema as VariadicExt>::Extend<NodeB::ValType>>,

bimorphism implementation for equijoin on full tuple (keys in all GhtInner nodes)

source§

impl<SchemaA, ValTypeA, StorageA, SchemaB, ValTypeB, StorageB, StorageOut> DeepJoinLatticeBimorphism<StorageOut> for (GhtLeaf<SchemaA, ValTypeA, StorageA>, GhtLeaf<SchemaB, ValTypeB, StorageB>)
where SchemaA: 'static + VariadicExt + Eq + Hash + SplitBySuffix<ValTypeA>, ValTypeA: 'static + VariadicExt + Eq + Hash, SchemaB: 'static + VariadicExt + Eq + Hash + SplitBySuffix<ValTypeB>, ValTypeB: 'static + VariadicExt + Eq + Hash, StorageA: VariadicSet<Schema = SchemaA>, StorageB: VariadicSet<Schema = SchemaB>, StorageOut: VariadicSet<Schema = <SchemaA as VariadicExt>::Extend<ValTypeB>>, for<'x> SchemaA::AsRefVar<'x>: CloneVariadic, for<'x> SchemaB::AsRefVar<'x>: CloneVariadic, <SchemaA as VariadicExt>::Extend<ValTypeB>: Eq + Hash,

source§

type DeepJoinLatticeBimorphism = GhtValTypeProductBimorphism<GhtLeaf<<SchemaA as VariadicExt>::Extend<ValTypeB>, <ValTypeA as VariadicExt>::Extend<ValTypeB>, StorageOut>>

Implementors§