proto_vulcan/engine.rs
1use crate::solver::Solver;
2use crate::stream::{Lazy, Stream, StreamEngine};
3use crate::user::User;
4
5pub type DefaultEngine<U> = StreamEngine<U>;
6
7pub trait Engine<U>: Sized + 'static
8where
9 U: User,
10{
11 fn new() -> Self;
12
13 fn step<'a>(&'a self, solver: &'a Solver<U, Self>, lazy: Lazy<U, Self>) -> Stream<U, Self>;
14}