pub struct CountBitWriter<E: Endianness, BW: BitWrite<E>, const PRINT: bool = false> {
pub bits_written: usize,
/* private fields */
}Expand description
A wrapper around a BitWrite that keeps track of the number
of bits written and optionally prints on standard error the
operations performed on the stream.
Fields§
§bits_written: usizeThe number of bits written so far on the underlying BitWrite.
Implementations§
Source§impl<E: Endianness, BW: BitWrite<E>, const PRINT: bool> CountBitWriter<E, BW, PRINT>
impl<E: Endianness, BW: BitWrite<E>, const PRINT: bool> CountBitWriter<E, BW, PRINT>
pub const fn new(bit_write: BW) -> Self
Sourcepub fn into_inner(self) -> BW
pub fn into_inner(self) -> BW
Consumes this writer and returns the underlying BitWrite.
Trait Implementations§
Source§impl<E: Endianness, BW: BitWrite<E> + BitSeek, const PRINT: bool> BitSeek for CountBitWriter<E, BW, PRINT>
impl<E: Endianness, BW: BitWrite<E> + BitSeek, const PRINT: bool> BitSeek for CountBitWriter<E, BW, PRINT>
Source§impl<E: Endianness, BW: BitWrite<E>, const PRINT: bool> BitWrite<E> for CountBitWriter<E, BW, PRINT>
impl<E: Endianness, BW: BitWrite<E>, const PRINT: bool> BitWrite<E> for CountBitWriter<E, BW, PRINT>
type Error = <BW as BitWrite<E>>::Error
Source§fn write_bits(
&mut self,
value: u64,
num_bits: usize,
) -> Result<usize, Self::Error>
fn write_bits( &mut self, value: u64, num_bits: usize, ) -> Result<usize, Self::Error>
Writes the lowest
num_bits bits of value to the stream and
returns the number of bits written, that is, num_bits. Read moreSource§fn write_unary(&mut self, n: u64) -> Result<usize, Self::Error>
fn write_unary(&mut self, n: u64) -> Result<usize, Self::Error>
Writes
n as a unary code to the stream and returns the number of
bits written, that is, n plus one. Read moreSource§impl<E: Clone + Endianness, BW: Clone + BitWrite<E>, const PRINT: bool> Clone for CountBitWriter<E, BW, PRINT>
impl<E: Clone + Endianness, BW: Clone + BitWrite<E>, const PRINT: bool> Clone for CountBitWriter<E, BW, PRINT>
Source§fn clone(&self) -> CountBitWriter<E, BW, PRINT>
fn clone(&self) -> CountBitWriter<E, BW, PRINT>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<E: Debug + Endianness, BW: Debug + BitWrite<E>, const PRINT: bool> Debug for CountBitWriter<E, BW, PRINT>
impl<E: Debug + Endianness, BW: Debug + BitWrite<E>, const PRINT: bool> Debug for CountBitWriter<E, BW, PRINT>
Source§impl<E: Endianness, BW: BitWrite<E> + DeltaWrite<E>, const PRINT: bool> DeltaWrite<E> for CountBitWriter<E, BW, PRINT>
impl<E: Endianness, BW: BitWrite<E> + DeltaWrite<E>, const PRINT: bool> DeltaWrite<E> for CountBitWriter<E, BW, PRINT>
Source§impl<E: Endianness, BW, const PRINT: bool> FlatType for CountBitWriter<E, BW, PRINT>
impl<E: Endianness, BW, const PRINT: bool> FlatType for CountBitWriter<E, BW, PRINT>
Source§impl<E: Endianness, BW: BitWrite<E> + GammaWrite<E>, const PRINT: bool> GammaWrite<E> for CountBitWriter<E, BW, PRINT>
impl<E: Endianness, BW: BitWrite<E> + GammaWrite<E>, const PRINT: bool> GammaWrite<E> for CountBitWriter<E, BW, PRINT>
Source§impl<E: Endianness, BW, const PRINT: bool> MemDbgImpl for CountBitWriter<E, BW, PRINT>where
BW: MemDbgImpl + FlatType + BitWrite<E>,
usize: MemDbgImpl + FlatType,
PhantomData<E>: MemDbgImpl + FlatType,
impl<E: Endianness, BW, const PRINT: bool> MemDbgImpl for CountBitWriter<E, BW, PRINT>where
BW: MemDbgImpl + FlatType + BitWrite<E>,
usize: MemDbgImpl + FlatType,
PhantomData<E>: MemDbgImpl + FlatType,
fn _mem_dbg_rec_on( &self, _memdbg_writer: &mut impl Write, _memdbg_total_size: usize, _memdbg_max_depth: usize, _memdbg_prefix: &mut String, _memdbg_is_last: bool, _memdbg_flags: DbgFlags, _memdbg_refs: &mut HashSet<usize>, ) -> Result
fn _mem_dbg_depth_on( &self, writer: &mut impl Write, total_size: usize, max_depth: usize, prefix: &mut String, field_name: Option<&str>, is_last: bool, padded_size: usize, flags: DbgFlags, dbg_refs: &mut HashSet<usize>, ) -> Result<(), Error>
Source§fn _mem_dbg_depth_on_impl(
&self,
writer: &mut impl Write,
total_size: usize,
max_depth: usize,
prefix: &mut String,
field_name: Option<&str>,
is_last: bool,
padded_size: usize,
flags: DbgFlags,
dbg_refs: &mut HashSet<usize>,
ref_display: RefDisplay,
) -> Result<(), Error>
fn _mem_dbg_depth_on_impl( &self, writer: &mut impl Write, total_size: usize, max_depth: usize, prefix: &mut String, field_name: Option<&str>, is_last: bool, padded_size: usize, flags: DbgFlags, dbg_refs: &mut HashSet<usize>, ref_display: RefDisplay, ) -> Result<(), Error>
Internal implementation for depth display. Read more
Source§impl<E: Endianness, BW, const PRINT: bool> MemSize for CountBitWriter<E, BW, PRINT>
impl<E: Endianness, BW, const PRINT: bool> MemSize for CountBitWriter<E, BW, PRINT>
Source§impl<E: Endianness, BW: BitWrite<E> + OmegaWrite<E>, const PRINT: bool> OmegaWrite<E> for CountBitWriter<E, BW, PRINT>
impl<E: Endianness, BW: BitWrite<E> + OmegaWrite<E>, const PRINT: bool> OmegaWrite<E> for CountBitWriter<E, BW, PRINT>
Source§impl<E: Endianness, BW: BitWrite<E> + PiWrite<E>, const PRINT: bool> PiWrite<E> for CountBitWriter<E, BW, PRINT>
impl<E: Endianness, BW: BitWrite<E> + PiWrite<E>, const PRINT: bool> PiWrite<E> for CountBitWriter<E, BW, PRINT>
Auto Trait Implementations§
impl<E, BW, const PRINT: bool> Freeze for CountBitWriter<E, BW, PRINT>where
BW: Freeze,
impl<E, BW, const PRINT: bool> RefUnwindSafe for CountBitWriter<E, BW, PRINT>where
BW: RefUnwindSafe,
E: RefUnwindSafe,
impl<E, BW, const PRINT: bool> Send for CountBitWriter<E, BW, PRINT>where
BW: Send,
impl<E, BW, const PRINT: bool> Sync for CountBitWriter<E, BW, PRINT>where
BW: Sync,
impl<E, BW, const PRINT: bool> Unpin for CountBitWriter<E, BW, PRINT>
impl<E, BW, const PRINT: bool> UnsafeUnpin for CountBitWriter<E, BW, PRINT>where
BW: UnsafeUnpin,
impl<E, BW, const PRINT: bool> UnwindSafe for CountBitWriter<E, BW, PRINT>where
BW: UnwindSafe,
E: 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<B> DeltaWriteParam<BigEndian> for Bwhere
B: GammaWriteParam<BigEndian>,
impl<B> DeltaWriteParam<BigEndian> for Bwhere
B: GammaWriteParam<BigEndian>,
Source§impl<B> DeltaWriteParam<LittleEndian> for Bwhere
B: GammaWriteParam<LittleEndian>,
impl<B> DeltaWriteParam<LittleEndian> for Bwhere
B: GammaWriteParam<LittleEndian>,
Source§impl<E, B> ExpGolombWrite<E> for Bwhere
E: Endianness,
B: GammaWrite<E>,
impl<E, B> ExpGolombWrite<E> for Bwhere
E: Endianness,
B: GammaWrite<E>,
Source§impl<B> GammaWriteParam<BigEndian> for B
impl<B> GammaWriteParam<BigEndian> for B
Source§impl<B> GammaWriteParam<LittleEndian> for Bwhere
B: BitWrite<LittleEndian>,
impl<B> GammaWriteParam<LittleEndian> for Bwhere
B: BitWrite<LittleEndian>,
fn write_gamma_param<const USE_TABLE: bool>( &mut self, n: u64, ) -> Result<usize, <B as BitWrite<LittleEndian>>::Error>
Source§impl<E, B> GolombWrite<E> for Bwhere
E: Endianness,
B: BitWrite<E>,
impl<E, B> GolombWrite<E> for Bwhere
E: Endianness,
B: BitWrite<E>,
Source§impl<T> MemDbg for Twhere
T: MemDbgImpl,
impl<T> MemDbg for Twhere
T: MemDbgImpl,
Source§fn mem_dbg(&self, flags: DbgFlags) -> Result<(), Error>
fn mem_dbg(&self, flags: DbgFlags) -> Result<(), Error>
Writes to stderr debug info about the structure memory usage, expanding
all levels of nested structures.
Source§fn mem_dbg_on(
&self,
writer: &mut impl Write,
flags: DbgFlags,
) -> Result<(), Error>
fn mem_dbg_on( &self, writer: &mut impl Write, flags: DbgFlags, ) -> Result<(), Error>
Writes to a
core::fmt::Write debug info about the structure memory
usage, expanding all levels of nested structures.Source§fn mem_dbg_depth(&self, max_depth: usize, flags: DbgFlags) -> Result<(), Error>
fn mem_dbg_depth(&self, max_depth: usize, flags: DbgFlags) -> Result<(), Error>
Writes to stderr debug info about the structure memory usage as
mem_dbg, but expanding only up to max_depth
levels of nested structures.Source§fn mem_dbg_depth_on(
&self,
writer: &mut impl Write,
max_depth: usize,
flags: DbgFlags,
) -> Result<(), Error>
fn mem_dbg_depth_on( &self, writer: &mut impl Write, max_depth: usize, flags: DbgFlags, ) -> Result<(), Error>
Writes to a
core::fmt::Write debug info about the structure memory
usage as mem_dbg_on, but expanding only up to
max_depth levels of nested structures.