pub struct Header { /* private fields */ }
Expand description
A SAM header header.
The header describes file-level metadata. The format version is guaranteed to be set.
Implementations
sourceimpl Header
impl Header
sourcepub fn builder() -> Builder
pub fn builder() -> Builder
Creates a SAM header header builder.
Examples
use noodles_sam::header::header::Header;
let builder = Header::builder();
sourcepub fn new(version: Version) -> Self
pub fn new(version: Version) -> Self
Creates a header with a format version.
Examples
use noodles_sam::header::header::{Header, Version};
let header = Header::new(Version::new(1, 6));
assert_eq!(header.version(), Version::new(1, 6));
sourcepub fn version(&self) -> Version
pub fn version(&self) -> Version
Returns the format version.
Examples
use noodles_sam::header::header::{Header, Version};
let header = Header::new(Version::new(1, 6));
assert_eq!(header.version(), Version::new(1, 6));
sourcepub fn version_mut(&mut self) -> &mut Version
pub fn version_mut(&mut self) -> &mut Version
Returns a mutable reference to the format version.
Examples
use noodles_sam::header::header::{Header, Version};
let mut header = Header::new(Version::new(1, 6));
assert_eq!(header.version(), Version::new(1, 6));
*header.version_mut() = Version::new(1, 5);
assert_eq!(header.version(), Version::new(1, 5));
sourcepub fn sort_order(&self) -> Option<SortOrder>
pub fn sort_order(&self) -> Option<SortOrder>
Returns the sort order.
Examples
use noodles_sam::header::header::Header;
let header = Header::default();
assert!(header.sort_order().is_none());
sourcepub fn group_order(&self) -> Option<GroupOrder>
pub fn group_order(&self) -> Option<GroupOrder>
Returns the group order.
Examples
use noodles_sam::header::header::Header;
let header = Header::default();
assert!(header.group_order().is_none());
sourcepub fn subsort_order(&self) -> Option<&SubsortOrder>
pub fn subsort_order(&self) -> Option<&SubsortOrder>
Returns the subsort order.
Examples
use noodles_sam::header::header::Header;
let header = Header::default();
assert!(header.subsort_order().is_none());
sourcepub fn fields(&self) -> &HashMap<Tag, String>
pub fn fields(&self) -> &HashMap<Tag, String>
Returns the raw fields of the header.
This includes any field that is not specially handled by the structure itself. For example,
this will not include the version field, as it is parsed and available as
Self::version
.
Examples
use noodles_sam::header::header::{Header, SortOrder, Tag, Version};
let zn = Tag::Other([b'z', b'n']);
let header = Header::builder()
.set_version(Version::new(1, 6))
.insert(zn, String::from("noodles"))
.build();
let fields = header.fields();
assert_eq!(fields.len(), 1);
assert_eq!(fields.get(&zn), Some(&String::from("noodles")));
assert_eq!(fields.get(&Tag::Version), None);
assert_eq!(header.version(), Version::new(1, 6));
Trait Implementations
impl Eq for Header
impl StructuralEq for Header
impl StructuralPartialEq for Header
Auto Trait Implementations
impl RefUnwindSafe for Header
impl Send for Header
impl Sync for Header
impl Unpin for Header
impl UnwindSafe for Header
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more