noodles_bed/feature/
record.rs1pub mod other_fields;
4mod strand;
5
6use std::io;
7
8use bstr::BStr;
9use noodles_core::Position;
10
11pub use self::{other_fields::OtherFields, strand::Strand};
12
13pub trait Record<const N: usize> {
15 fn standard_field_count(&self) -> usize {
17 N
18 }
19
20 fn reference_sequence_name(&self) -> &BStr;
22
23 fn feature_start(&self) -> io::Result<Position>;
25
26 fn feature_end(&self) -> Option<io::Result<Position>>;
28
29 fn name(&self) -> Option<Option<&BStr>>;
31
32 fn score(&self) -> Option<io::Result<u16>>;
34
35 fn strand(&self) -> Option<io::Result<Option<Strand>>>;
37
38 fn other_fields(&self) -> Box<dyn OtherFields + '_>;
40}