use crate::error::SketchError;
#[derive(Debug, Clone, Copy)]
pub struct CpcSketchBuilder {
lg_k: u8,
}
impl Default for CpcSketchBuilder {
fn default() -> Self {
Self { lg_k: 11 }
}
}
impl CpcSketchBuilder {
pub fn new() -> Self {
Self::default()
}
pub fn lg_k(mut self, lg_k: u8) -> Self {
self.lg_k = lg_k;
self
}
pub fn build(self) -> Result<super::CpcSketch, SketchError> {
super::CpcSketch::from_lg_k(self.lg_k)
}
}
#[derive(Debug, Clone, Copy)]
pub struct CpcUnionBuilder {
lg_k: u8,
}
impl Default for CpcUnionBuilder {
fn default() -> Self {
Self { lg_k: 11 }
}
}
impl CpcUnionBuilder {
pub fn new() -> Self {
Self::default()
}
pub fn lg_k(mut self, lg_k: u8) -> Self {
self.lg_k = lg_k;
self
}
pub fn build(self) -> Result<super::CpcUnion, SketchError> {
super::CpcUnion::from_lg_k(self.lg_k)
}
}