+/// High-level bytestream writer.
+///
+/// User is supposed to create some writer implementing [`ByteIO`] trait e.g. [`MemoryWriter`] and use it to create `ByteWriter` which can be used for writing e.g. various integer types.
+///
+/// # Examples
+///
+/// ````
+/// use nihav_core::io::byteio::{MemoryWriter,ByteWriter};
+/// # use nihav_core::io::byteio::ByteIOResult;
+///
+/// # fn foo() -> ByteIOResult<()> {
+/// let mut memory = [0u8; 4];
+/// let mut mw = MemoryWriter::new_write(&mut memory);
+/// let mut bw = ByteWriter::new(&mut mw);
+/// let val = bw.write_u16be(42)?; // memory should be [ 0, 42, 0, 0 ]
+/// let val = bw.write_u16le(42)?; // memory should be [ 0, 42, 42, 0 ]
+/// # Ok(())
+/// # }
+/// ````
+///
+/// [`ByteIO`]: ./trait.ByteIO.html
+/// [`MemoryWriter`]: ./struct.MemoryWriter.html