Skip to main content

DeepJoinLatticeBimorphism

Trait DeepJoinLatticeBimorphism 

Source
pub trait DeepJoinLatticeBimorphism<Storage> {
    type DeepJoinLatticeBimorphism;
}
Available on crate feature std only.
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)

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

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§