pub struct Writer<W> { /* private fields */ }
Expand description
A GFF writer.
Implementations§
Source§impl<W> Writer<W>
impl<W> Writer<W>
Sourcepub fn get_ref(&self) -> &W
pub fn get_ref(&self) -> &W
Returns a reference to the underlying writer.
§Examples
use noodles_gff as gff;
let writer = gff::io::Writer::new(io::sink());
let _inner = writer.get_ref();
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_gff as gff;
let mut writer = gff::io::Writer::new(io::sink());
let _inner = writer.get_mut();
Sourcepub fn into_inner(self) -> W
pub fn into_inner(self) -> W
Returns the underlying writer.
§Examples
use noodles_gff as gff;
let writer = gff::io::Writer::new(io::sink());
let _inner = writer.into_inner();
Source§impl<W> Writer<W>where
W: Write,
impl<W> Writer<W>where
W: Write,
Sourcepub fn new(inner: W) -> Self
pub fn new(inner: W) -> Self
Creates a GFF writer.
§Examples
use noodles_gff as gff;
let writer = gff::io::Writer::new(Vec::new());
Sourcepub fn write_line(&mut self, line: &LineBuf) -> Result<()>
pub fn write_line(&mut self, line: &LineBuf) -> Result<()>
Writes a LineBuf
.
§Examples
use noodles_gff::{self as gff, directive_buf::{key, Value}, LineBuf};
let mut writer = gff::io::Writer::new(Vec::new());
let version = LineBuf::Directive(gff::DirectiveBuf::new(
key::GFF_VERSION,
Some(Value::GffVersion(Default::default())),
));
writer.write_line(&version)?;
let comment = LineBuf::Comment(String::from("noodles"));
writer.write_line(&comment)?;
let record = LineBuf::Record(gff::RecordBuf::default());
writer.write_line(&record)?;
let expected = b"##gff-version 3
#noodles
.\t.\t.\t1\t1\t.\t.\t.\t.
";
assert_eq!(&writer.get_ref()[..], &expected[..]);
Sourcepub fn write_directive(&mut self, directive: &DirectiveBuf) -> Result<()>
pub fn write_directive(&mut self, directive: &DirectiveBuf) -> Result<()>
Writes a GFF directive.
§Examples
use noodles_gff::{self as gff, directive_buf::{key, Value}};
let mut writer = gff::io::Writer::new(Vec::new());
let version = gff::DirectiveBuf::new(
key::GFF_VERSION,
Some(Value::GffVersion(Default::default())),
);
writer.write_directive(&version)?;
assert_eq!(writer.get_ref(), b"##gff-version 3\n");
Sourcepub fn write_record(&mut self, record: &RecordBuf) -> Result<()>
pub fn write_record(&mut self, record: &RecordBuf) -> Result<()>
Writes a GFF record.
§Examples
use noodles_gff::{self as gff, directive_buf::{key, Value}};
let mut writer = gff::io::Writer::new(Vec::new());
let version = gff::DirectiveBuf::new(
key::GFF_VERSION,
Some(Value::GffVersion(Default::default())),
);
writer.write_directive(&version)?;
let record = gff::RecordBuf::default();
writer.write_record(&record)?;
let expected = b"##gff-version 3
.\t.\t.\t1\t1\t.\t.\t.\t.
";
assert_eq!(&writer.get_ref()[..], &expected[..]);
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