Struct noodles_vcf::async::io::Writer
source · pub struct Writer<W>where
W: AsyncWrite,{ /* private fields */ }
Expand description
An async VCF writer.
If the inner writer is buffered, a call to Self::shutdown
must be made before the writer is
dropped.
Implementations§
source§impl<W> Writer<W>where
W: AsyncWrite + Unpin,
impl<W> Writer<W>where
W: AsyncWrite + Unpin,
sourcepub fn new(inner: W) -> Self
pub fn new(inner: W) -> Self
Creates an async VCF writer.
§Examples
use noodles_vcf as vcf;
let writer = vcf::r#async::io::Writer::new(Vec::new());
sourcepub fn get_ref(&self) -> &W
pub fn get_ref(&self) -> &W
Returns a reference to the underlying writer.
§Examples
use noodles_vcf as vcf;
let writer = vcf::r#async::io::Writer::new(Vec::new());
assert!(writer.get_ref().is_empty());
sourcepub fn get_mut(&mut self) -> &mut W
pub fn get_mut(&mut self) -> &mut W
Returns a mutable reference to the underlying writer.
§Examples
use noodles_vcf as vcf;
let mut writer = vcf::r#async::io::Writer::new(Vec::new());
assert!(writer.get_mut().is_empty());
sourcepub fn into_inner(self) -> W
pub fn into_inner(self) -> W
Returns the underlying writer.
§Examples
use noodles_vcf as vcf;
let writer = vcf::r#async::io::Writer::new(Vec::new());
assert!(writer.into_inner().is_empty());
sourcepub async fn shutdown(&mut self) -> Result<()>
pub async fn shutdown(&mut self) -> Result<()>
Shuts down the output stream.
§Examples
use noodles_vcf as vcf;
let mut writer = vcf::r#async::io::Writer::new(Vec::new());
writer.shutdown().await?;
sourcepub async fn write_header(&mut self, header: &Header) -> Result<()>
pub async fn write_header(&mut self, header: &Header) -> Result<()>
Writes a VCF header.
§Examples
use noodles_vcf as vcf;
let mut writer = vcf::r#async::io::Writer::new(Vec::new());
let header = vcf::Header::default();
writer.write_header(&header).await?;
sourcepub async fn write_record(
&mut self,
header: &Header,
record: &Record,
) -> Result<()>
pub async fn write_record( &mut self, header: &Header, record: &Record, ) -> Result<()>
Writes a VCF record.
§Examples
use noodles_core::Position;
use noodles_vcf as vcf;
let mut writer = vcf::r#async::io::Writer::new(Vec::new());
let header = vcf::Header::default();
let record = vcf::Record::default();
writer.write_record(&header, &record).await?;
sourcepub async fn write_variant_record(
&mut self,
header: &Header,
record: &dyn Record,
) -> Result<()>
pub async fn write_variant_record( &mut self, header: &Header, record: &dyn Record, ) -> Result<()>
Writes a variant record.
§Examples
use noodles_core::Position;
use noodles_vcf as vcf;
let header = vcf::Header::default();
let record = vcf::variant::RecordBuf::builder()
.set_reference_sequence_name("sq0")
.set_variant_start(Position::MIN)
.set_reference_bases("A")
.build();
let mut writer = vcf::r#async::io::Writer::new(Vec::new());
writer.write_variant_record(&header, &record).await?;
Auto Trait Implementations§
impl<W> Freeze for Writer<W>where
W: Freeze,
impl<W> RefUnwindSafe for Writer<W>where
W: RefUnwindSafe,
impl<W> Send for Writer<W>where
W: Send,
impl<W> Sync for Writer<W>where
W: Sync,
impl<W> Unpin for Writer<W>where
W: Unpin,
impl<W> UnwindSafe for Writer<W>where
W: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more