pub struct HuffmanWriter<W>where
W: Write,{ /* private fields */ }
Expand description
HuffmanWriter is a Write implementation that writes encoded words to the inner writer.
§Examples
extern crate huffman_coding;
let pseudo_data = vec![0, 0, 1, 2, 2];
let tree = huffman_coding::HuffmanTree::from_data(&pseudo_data[..]);
let mut output = Vec::new();
{
use std::io::Write;
let mut writer = huffman_coding::HuffmanWriter::new(&mut output, &tree);
assert!(writer.write(&[2, 2, 0, 0, 1]).is_ok());
}
assert_eq!(&output[..], [43, 8]);
Implementations§
Source§impl<W> HuffmanWriter<W>where
W: Write,
impl<W> HuffmanWriter<W>where
W: Write,
Sourcepub fn new(writer: W, tree: &HuffmanTree) -> Self
pub fn new(writer: W, tree: &HuffmanTree) -> Self
Construct a new HuffmanWriter using the provided HuffmanTree
Trait Implementations§
Source§impl<W> Write for HuffmanWriter<W>where
W: Write,
impl<W> Write for HuffmanWriter<W>where
W: Write,
Source§fn write(&mut self, buf: &[u8]) -> IOResult<usize>
fn write(&mut self, buf: &[u8]) -> IOResult<usize>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> IOResult<()>
fn flush(&mut self) -> IOResult<()>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl<W> Freeze for HuffmanWriter<W>where
W: Freeze,
impl<W> RefUnwindSafe for HuffmanWriter<W>where
W: RefUnwindSafe,
impl<W> Send for HuffmanWriter<W>where
W: Send,
impl<W> Sync for HuffmanWriter<W>where
W: Sync,
impl<W> Unpin for HuffmanWriter<W>where
W: Unpin,
impl<W> UnwindSafe for HuffmanWriter<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