Trait datafrog::RelationLeaper
source · pub trait RelationLeaper<Key: Ord, Val: Ord> {
fn extend_with<'leap, Tuple: Ord, Func: Fn(&Tuple) -> Key>(
&'leap self,
key_func: Func
) -> ExtendWith<'leap, Key, Val, Tuple, Func>
where
Key: 'leap,
Val: 'leap;
fn extend_anti<'leap, Tuple: Ord, Func: Fn(&Tuple) -> Key>(
&'leap self,
key_func: Func
) -> ExtendAnti<'leap, Key, Val, Tuple, Func>
where
Key: 'leap,
Val: 'leap;
fn filter_with<'leap, Tuple: Ord, Func: Fn(&Tuple) -> (Key, Val)>(
&'leap self,
key_func: Func
) -> FilterWith<'leap, Key, Val, Tuple, Func>
where
Key: 'leap,
Val: 'leap;
fn filter_anti<'leap, Tuple: Ord, Func: Fn(&Tuple) -> (Key, Val)>(
&'leap self,
key_func: Func
) -> FilterAnti<'leap, Key, Val, Tuple, Func>
where
Key: 'leap,
Val: 'leap;
}
Expand description
Extension method for relations.
Required Methods§
sourcefn extend_with<'leap, Tuple: Ord, Func: Fn(&Tuple) -> Key>(
&'leap self,
key_func: Func
) -> ExtendWith<'leap, Key, Val, Tuple, Func>where
Key: 'leap,
Val: 'leap,
fn extend_with<'leap, Tuple: Ord, Func: Fn(&Tuple) -> Key>(
&'leap self,
key_func: Func
) -> ExtendWith<'leap, Key, Val, Tuple, Func>where
Key: 'leap,
Val: 'leap,
Extend with Val
using the elements of the relation.
sourcefn extend_anti<'leap, Tuple: Ord, Func: Fn(&Tuple) -> Key>(
&'leap self,
key_func: Func
) -> ExtendAnti<'leap, Key, Val, Tuple, Func>where
Key: 'leap,
Val: 'leap,
fn extend_anti<'leap, Tuple: Ord, Func: Fn(&Tuple) -> Key>(
&'leap self,
key_func: Func
) -> ExtendAnti<'leap, Key, Val, Tuple, Func>where
Key: 'leap,
Val: 'leap,
Extend with Val
using the complement of the relation.
sourcefn filter_with<'leap, Tuple: Ord, Func: Fn(&Tuple) -> (Key, Val)>(
&'leap self,
key_func: Func
) -> FilterWith<'leap, Key, Val, Tuple, Func>where
Key: 'leap,
Val: 'leap,
fn filter_with<'leap, Tuple: Ord, Func: Fn(&Tuple) -> (Key, Val)>(
&'leap self,
key_func: Func
) -> FilterWith<'leap, Key, Val, Tuple, Func>where
Key: 'leap,
Val: 'leap,
Extend with any value if tuple is present in relation.
sourcefn filter_anti<'leap, Tuple: Ord, Func: Fn(&Tuple) -> (Key, Val)>(
&'leap self,
key_func: Func
) -> FilterAnti<'leap, Key, Val, Tuple, Func>where
Key: 'leap,
Val: 'leap,
fn filter_anti<'leap, Tuple: Ord, Func: Fn(&Tuple) -> (Key, Val)>(
&'leap self,
key_func: Func
) -> FilterAnti<'leap, Key, Val, Tuple, Func>where
Key: 'leap,
Val: 'leap,
Extend with any value if tuple is absent from relation.