noodles_sam/alignment/io/
write.rs

1use std::io;
2
3use crate::{alignment::Record, Header};
4
5/// An alignment writer.
6///
7/// A call to [`Self::finish`] must be made before the writer is dropped.
8pub trait Write {
9    /// Writes a SAM header.
10    fn write_alignment_header(&mut self, header: &Header) -> io::Result<()>;
11
12    /// Writes an alignment record.
13    fn write_alignment_record(&mut self, header: &Header, record: &dyn Record) -> io::Result<()>;
14
15    /// Shuts down an alignment writer.
16    fn finish(&mut self, header: &Header) -> io::Result<()>;
17}