use std::collections::VecDeque;
pub trait GetSample {
type Sample: Sized;
fn get_sample(&self, index: usize) -> Self::Sample;
}
impl<T: Clone> GetSample for Vec<T> {
type Sample = T;
fn get_sample(&self, index: usize) -> Self::Sample {
self[index].clone()
}
}
impl<T: Clone> GetSample for VecDeque<T> {
type Sample = T;
fn get_sample(&self, index: usize) -> Self::Sample {
self[index].clone()
}
}