pub trait ColtGet {
type Schema: VariadicExt + Eq + Hash + Clone;
type Storage: VariadicCollection;
type SuffixSchema: VariadicExt + Eq + Hash + Clone;
type Head: Eq + Hash;
type Get;
// Required methods
fn get(self, head: &Self::Head) -> Self::Get;
fn iter(&self) -> impl Iterator<Item = Self::Head>;
}
Expand description
Emulate the get
and iter functions for a single Ght node [
GhtGet`] across a forest of ColtForestNodes.
The “current” ColtGet node (corresponding to the “current” GhtGet node) at depth d from the root is a variadic list of nodes, each at depth d in its their respective trie in the forest, Tries of height d or smaller are omitted, hence the first element in any ColtGet is a GhtLeaf.
Required Associated Types§
sourcetype Schema: VariadicExt + Eq + Hash + Clone
type Schema: VariadicExt + Eq + Hash + Clone
Schema variadic: the schema of the relation stored in this COLT. This type is the same in all Tries and nodes of the COLT.
sourcetype Storage: VariadicCollection
type Storage: VariadicCollection
The type of Storage This type is the same in all Tries and nodes of the COLT
sourcetype SuffixSchema: VariadicExt + Eq + Hash + Clone
type SuffixSchema: VariadicExt + Eq + Hash + Clone
SuffixSchema variadic: the suffix of the schema from this node of the trie downward. The first entry in this variadic is of type Head. This type is the same in all Tries of the COLT (but changes as we traverse downward)