retriever/idxsets/
noidx.rs1use crate::bits::bitfield::Bitfield;
2use crate::traits::idxset::IdxSet;
3
4#[derive(Clone)]
6pub struct NoIdx;
7
8impl Iterator for NoIdx {
9 type Item = Bitfield;
10
11 fn next(&mut self) -> Option<Self::Item> {
12 None
13 }
14}
15
16impl DoubleEndedIterator for NoIdx {
17 fn next_back(&mut self) -> Option<Self::Item> {
18 None
19 }
20}
21
22impl IdxSet for NoIdx {
23 type IdxIter = <Self as IntoIterator>::IntoIter;
24
25 fn into_idx_iter(self) -> Self::IdxIter {
26 self
27 }
28
29 fn size(&self) -> usize {
30 0
31 }
32
33 fn intersect(&self, idx: &Bitfield) -> Bitfield {
34 Bitfield::new_empty(idx.start())
35 }
36}