noodles_cram/record/data/field/value/
array.rs

1mod values;
2
3use noodles_sam as sam;
4
5pub use self::values::Values;
6
7#[derive(Clone, Debug, PartialEq)]
8pub enum Array<'c> {
9    Int8(Values<'c, i8>),
10    UInt8(Values<'c, u8>),
11    Int16(Values<'c, i16>),
12    UInt16(Values<'c, u16>),
13    Int32(Values<'c, i32>),
14    UInt32(Values<'c, u32>),
15    Float(Values<'c, f32>),
16}
17
18impl<'r: 'c, 'c: 'r> From<&'r Array<'c>> for sam::alignment::record::data::field::value::Array<'c> {
19    fn from(array: &'r Array<'c>) -> Self {
20        match array {
21            Array::Int8(values) => Self::Int8(Box::new(values)),
22            Array::UInt8(values) => Self::UInt8(Box::new(values)),
23            Array::Int16(values) => Self::Int16(Box::new(values)),
24            Array::UInt16(values) => Self::UInt16(Box::new(values)),
25            Array::Int32(values) => Self::Int32(Box::new(values)),
26            Array::UInt32(values) => Self::UInt32(Box::new(values)),
27            Array::Float(values) => Self::Float(Box::new(values)),
28        }
29    }
30}