use dicom_core::{Tag, VR, header::DataElementHeader};
use std::io::Read;
pub trait Attribute<'a> {
type Error;
type Reader: 'a + Read;
type Item: 'a;
type ItemIter: IntoIterator<Item = Self::Item>;
fn header(&self) -> DataElementHeader;
fn vr(&self) -> VR {
self.header().vr
}
fn tag(&self) -> Tag {
self.header().tag
}
fn str(&self) -> Result<&'a str, Self::Error>;
fn raw_bytes(&self) -> Result<&'a [u8], Self::Error>;
fn stream(&self) -> Result<Self::Reader, Self::Error>;
}