Skip to main content

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}