use super::MeasurementArray;
use crate::{
schema::{axes::ChannelAxis, Label},
strided_array_file::ArrayProxy,
};
#[derive(Debug)]
pub(crate) struct MeasurementArrayView<'a> {
axes: Vec<ChannelAxis>,
label: Option<Label>,
data: ArrayProxy<'a>,
}
impl<'a> MeasurementArrayView<'a> {
pub(crate) fn new(axes: Vec<ChannelAxis>, label: Option<Label>, data: ArrayProxy<'a>) -> Self {
Self { axes, label, data }
}
}
impl<'a> MeasurementArray<'a> for MeasurementArrayView<'a> {
fn data(&self) -> ArrayProxy<'a> {
self.data.clone()
}
fn axes(&self) -> &Vec<ChannelAxis> {
&self.axes
}
fn label(&self) -> &Option<Label> {
&self.label
}
}