pub struct Transcode<M, C, In> { /* private fields */ }Expand description
The upstream transcode_decode composite: relabel, then decode.
Closed under composition, which is what makes a tier change a change of
artifact rather than a change of arithmetic (CK-04, CL-MM03).
The plan spells this Transcode<C1, C2>; the first parameter is a
CodeMap rather than a second Codec, because a decode into the
alphabet cannot be the input of another decode — only a relabelling can.
Implementations§
Trait Implementations§
Source§impl<E, Bd, M, C, In> Codec<E, Bd> for Transcode<M, C, In>
impl<E, Bd, M, C, In> Codec<E, Bd> for Transcode<M, C, In>
Source§const MAX_BLOCK: usize = C::MAX_BLOCK
const MAX_BLOCK: usize = C::MAX_BLOCK
The most alphabet elements one code can produce. Read more
Source§const TIER: TierId = TierId::Transcode
const TIER: TierId = TierId::Transcode
Which tier this is, for reports and for the kappa manifest.
Source§const IS_FIXED_WIDTH: bool = C::IS_FIXED_WIDTH
const IS_FIXED_WIDTH: bool = C::IS_FIXED_WIDTH
Source§fn decode_len(&self, _code: Self::Code) -> usize
fn decode_len(&self, _code: Self::Code) -> usize
How many elements
code actually produces. Read moreimpl<M: Copy, C: Copy, In: Copy> Copy for Transcode<M, C, In>
Auto Trait Implementations§
impl<M, C, In> Freeze for Transcode<M, C, In>
impl<M, C, In> RefUnwindSafe for Transcode<M, C, In>where
M: RefUnwindSafe,
C: RefUnwindSafe,
impl<M, C, In> Send for Transcode<M, C, In>
impl<M, C, In> Sync for Transcode<M, C, In>
impl<M, C, In> Unpin for Transcode<M, C, In>
impl<M, C, In> UnsafeUnpin for Transcode<M, C, In>where
M: UnsafeUnpin,
C: UnsafeUnpin,
impl<M, C, In> UnwindSafe for Transcode<M, C, In>where
M: UnwindSafe,
C: 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