ascent 0.8.0

Logic programming in Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use rayon::iter::ParallelIterator;

pub trait CRelIndexRead<'a> {
   type Key;
   type Value;
   type IteratorType: ParallelIterator<Item = Self::Value> + Clone + 'a;
   fn c_index_get(&'a self, key: &Self::Key) -> Option<Self::IteratorType>;
}

pub trait CRelIndexReadAll<'a> {
   type Key: 'a;
   type Value;
   type ValueIteratorType: ParallelIterator<Item = Self::Value> + 'a;
   type AllIteratorType: ParallelIterator<Item = (Self::Key, Self::ValueIteratorType)> + 'a;
   fn c_iter_all(&'a self) -> Self::AllIteratorType;
}