diff options
Diffstat (limited to 'database/src/kv/merge_iterator.rs')
| -rw-r--r-- | database/src/kv/merge_iterator.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/database/src/kv/merge_iterator.rs b/database/src/kv/merge_iterator.rs new file mode 100644 index 0000000..5658416 --- /dev/null +++ b/database/src/kv/merge_iterator.rs @@ -0,0 +1,23 @@ +/* + This file is part of jellything (https://codeberg.org/metamuffin/jellything) + which is licensed under the GNU Affero General Public License (version 3); see /COPYING. + Copyright (C) 2026 metamuffin <metamuffin.org> +*/ + +use crate::RowNum; +use anyhow::Result; + +pub struct MergeIterator<'a> { + iters: Vec<Box<dyn Iterator<Item = Result<(RowNum, Vec<u8>)>> + 'a>>, +} +impl<'a> MergeIterator<'a> { + pub fn new(iters: Vec<Box<dyn Iterator<Item = Result<(RowNum, Vec<u8>)>> + 'a>>) -> Self { + Self { iters } + } +} +impl<'a> Iterator for MergeIterator<'a> { + type Item = Result<(RowNum, Vec<u8>)>; + fn next(&mut self) -> Option<Self::Item> { + todo!() + } +} |