1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
use mercator_db::CoreQueryParameters; use mercator_db::DataBase; pub trait Validator { type ValidationResult; fn validate(&self) -> Self::ValidationResult; } pub trait Predictor { fn predict(&self, db: &DataBase) -> Result<f64, String>; } pub trait Executor<'e> { type ResultSet; fn execute<'f: 'e>( &self, core_id: &str, parameters: &CoreQueryParameters<'f>, ) -> Self::ResultSet; } pub trait Evaluator<'e> { type Object; fn eval(&self, object: Self::Object) -> bool; }