From: Chris Mikkelson Date: Mon, 7 Apr 2025 01:16:58 +0000 (-0500) Subject: Rename merge_func, dupsort_func sources, iterators. X-Git-Url: https://git.mikk.net/?a=commitdiff_plain;h=773a5e3555172daeed1a19e7dac7c73b63a7a7e0;p=mtbl-rs Rename merge_func, dupsort_func sources, iterators. --- diff --git a/src/dupsort_func.rs b/src/dupsort.rs similarity index 88% rename from src/dupsort_func.rs rename to src/dupsort.rs index 529b45d..7905ce3 100644 --- a/src/dupsort_func.rs +++ b/src/dupsort.rs @@ -2,7 +2,7 @@ use crate::{SeekableIter, Source}; use std::cmp::Ordering; use std::marker::PhantomData; -pub struct DupsortFunc<'a, S, F> +pub struct DupsortSource<'a, S, F> where S: Source<'a>, F: Fn(&S::Item, &S::Item) -> Ordering, @@ -12,7 +12,7 @@ where phantom: PhantomData<&'a char>, } -impl<'a, S, F> DupsortFunc<'a, S, F> +impl<'a, S, F> DupsortSource<'a, S, F> where S: Source<'a>, F: Fn(&S::Item, &S::Item) -> Ordering, @@ -26,13 +26,13 @@ where } } -impl<'a, S, F> Source<'a> for DupsortFunc<'a, S, F> +impl<'a, S, F> Source<'a> for DupsortSource<'a, S, F> where S: Source<'a>, S::Item: PartialEq, F: Fn(&S::Item, &S::Item) -> Ordering + 'a, { - type Iter = DupsortFuncIter; + type Iter = DupsortIter; type Item = S::Item; fn iter(&'a self) -> Self::Iter { @@ -41,7 +41,7 @@ where } #[derive(Debug)] -pub struct DupsortFuncIter +pub struct DupsortIter where I: SeekableIter, F: FnMut(&I::Item, &I::Item) -> Ordering, @@ -52,7 +52,7 @@ where dupsort_func: F, } -impl DupsortFuncIter +impl DupsortIter where I: SeekableIter, F: FnMut(&I::Item, &I::Item) -> Ordering, @@ -67,7 +67,7 @@ where } } -impl Iterator for DupsortFuncIter +impl Iterator for DupsortIter where I: SeekableIter, I::Item: PartialEq, @@ -97,7 +97,7 @@ where } } -impl SeekableIter for DupsortFuncIter +impl SeekableIter for DupsortIter where I: SeekableIter, I::Item: PartialEq, diff --git a/src/iter.rs b/src/iter.rs index b50e3a8..201172b 100644 --- a/src/iter.rs +++ b/src/iter.rs @@ -1,6 +1,6 @@ -use crate::dupsort_func::DupsortFuncIter; +use crate::dupsort::DupsortIter; use crate::filter::FilterIter; -use crate::merge_func::MergeFuncIter; +use crate::merge::MergeIter; use crate::Entry; use std::cmp::Ordering; use std::iter::Iterator; @@ -8,20 +8,20 @@ use std::iter::Iterator; pub trait SeekableIter: Iterator { fn seek(&mut self, key: &[u8]); - fn merge_func(self, merge_func: F) -> MergeFuncIter + fn merge_func(self, merge_func: F) -> MergeIter where F: FnMut(&mut Vec, &Entry), Self: Sized, { - MergeFuncIter::new(self, merge_func) + MergeIter::new(self, merge_func) } - fn dupsort_func(self, dupsort_func: F) -> DupsortFuncIter + fn dupsort_func(self, dupsort_func: F) -> DupsortIter where F: FnMut(&Self::Item, &Self::Item) -> Ordering, Self: Sized, { - DupsortFuncIter::new(self, dupsort_func) + DupsortIter::new(self, dupsort_func) } fn filter_func(self, filter_func: F) -> FilterIter diff --git a/src/lib.rs b/src/lib.rs index 5a56711..7b47e6f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,9 +1,9 @@ mod compression; -mod dupsort_func; +mod dupsort; mod entry; mod filter; mod iter; -mod merge_func; +mod merge; mod merger; pub mod reader; pub mod sorter; diff --git a/src/merge_func.rs b/src/merge.rs similarity index 83% rename from src/merge_func.rs rename to src/merge.rs index c4dba83..3abcb3d 100644 --- a/src/merge_func.rs +++ b/src/merge.rs @@ -1,13 +1,13 @@ use crate::{Entry, SeekableIter, Source}; use std::marker::PhantomData; -pub struct MergeFunc<'a, S: Source<'a>, F: Fn(&mut Vec, &Entry)> { +pub struct MergeSource<'a, S: Source<'a>, F: Fn(&mut Vec, &Entry)> { source: S, merge_func: F, phantom: PhantomData<&'a char>, } -impl<'a, S, F> MergeFunc<'a, S, F> +impl<'a, S, F> MergeSource<'a, S, F> where S: Source<'a>, F: Fn(&mut Vec, &Entry), @@ -21,25 +21,25 @@ where } } -impl<'a, S, F> Source<'a> for MergeFunc<'a, S, F> +impl<'a, S, F> Source<'a> for MergeSource<'a, S, F> where S: Source<'a, Item = Entry>, F: Fn(&mut Vec, &Entry) + 'a, { - type Iter = MergeFuncIter; + type Iter = MergeIter; type Item = Entry; fn iter(&'a self) -> Self::Iter { self.source.iter().merge_func(&self.merge_func) } } -pub struct MergeFuncIter, &Entry)> { +pub struct MergeIter, &Entry)> { prev: Option, iter: I, merge_func: F, } -impl MergeFuncIter +impl MergeIter where F: FnMut(&mut Vec, &Entry), { @@ -52,7 +52,7 @@ where } } -impl Iterator for MergeFuncIter +impl Iterator for MergeIter where I: Iterator, F: FnMut(&mut Vec, &Entry), @@ -72,7 +72,7 @@ where } } -impl SeekableIter for MergeFuncIter +impl SeekableIter for MergeIter where I: SeekableIter, F: FnMut(&mut Vec, &Entry), diff --git a/src/source.rs b/src/source.rs index 61f0b70..79068a7 100644 --- a/src/source.rs +++ b/src/source.rs @@ -1,7 +1,7 @@ -use crate::dupsort_func::DupsortFunc; +use crate::dupsort::DupsortSource; use crate::filter::FilterSource; use crate::iter::{PrefixIter, RangeIter}; -use crate::merge_func::MergeFunc; +use crate::merge::MergeSource; use crate::{Entry, SeekableIter}; pub trait Source<'a> { @@ -19,20 +19,20 @@ pub trait Source<'a> { RangeIter::new(self.iter(), start, end) } - fn merge_func(self, merge_func: F) -> MergeFunc<'a, Self, F> + fn merge_func(self, merge_func: F) -> MergeSource<'a, Self, F> where Self: Sized, F: Fn(&mut Vec, &Entry), { - MergeFunc::new(self, merge_func) + MergeSource::new(self, merge_func) } - fn dupsort_func(self, dupsort_func: F) -> DupsortFunc<'a, Self, F> + fn dupsort_func(self, dupsort_func: F) -> DupsortSource<'a, Self, F> where Self: Sized, F: Fn(&Self::Item, &Self::Item) -> std::cmp::Ordering, { - DupsortFunc::new(self, dupsort_func) + DupsortSource::new(self, dupsort_func) } fn filter(self, filter_func: F) -> FilterSource<'a, Self, F>