use primitives::{
algebra::elliptic_curve::Curve,
correlated_randomness::{
bundler::Bundler,
dabits::DaBit,
singlets::Singlet,
stream::{Next, NextVec},
triples::Triple,
},
};
use crate::errors::AbortError;
pub mod bundler;
pub mod iterator;
pub type NextSinglet<F> = Next<Singlet<F>, AbortError>;
pub type NextTriple<F> = Next<Triple<F>, AbortError>;
pub type NextDaBit<F> = Next<DaBit<F>, AbortError>;
pub type NextSinglets<F> = NextVec<Singlet<F>, AbortError>;
pub type NextTriples<F> = NextVec<Triple<F>, AbortError>;
pub type NextDaBits<F> = NextVec<DaBit<F>, AbortError>;
pub trait PreprocessingBundler<C: Curve>:
Bundler<Iterator = iterator::PreprocessingIterator<C>>
{
}
impl<C: Curve, T: Bundler<Iterator = iterator::PreprocessingIterator<C>>> PreprocessingBundler<C>
for T
{
}