use roaring::RoaringBitmap; use super::{Criterion, CriterionParameters, CriterionResult}; use crate::search::query_tree::Operation; use crate::Result; pub struct Initial { answer: Option, } impl Initial { pub fn new( query_tree: Option, filtered_candidates: Option, ) -> Initial { let answer = CriterionResult { query_tree, candidates: None, filtered_candidates, bucket_candidates: None, }; Initial { answer: Some(answer) } } } impl Criterion for Initial { #[logging_timer::time("Initial::{}")] fn next(&mut self, _: &mut CriterionParameters) -> Result> { Ok(self.answer.take()) } }