pub trait RelationLeaper<Key: Ord, Val: Ord> {
// Required methods
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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.