pub struct EncodeContext<'a, Value, Unit> {
pub input_value: &'a Value,
pub input_index: usize,
pub output: &'a mut [Unit],
pub output_index: usize,
}Expand description
Context for one encode attempt inside a buffered encoder engine.
The context carries the current input value and output cursor. It does not
contain the prepared crate::EncodePlan; the engine keeps planning
separate so callers and hooks can distinguish cursor state from policy state.
§Type Parameters
Value: Logical input value type.Unit: Encoded output unit type.
Fields§
§input_value: &'a ValueInput value being encoded.
input_index: usizeAbsolute input index of input_value.
output: &'a mut [Unit]Complete output unit slice visible to the encoder.
output_index: usizeStart position in output where writing begins.
Implementations§
Source§impl<Value, Unit> EncodeContext<'_, Value, Unit>
impl<Value, Unit> EncodeContext<'_, Value, Unit>
Sourcepub fn available_output(&self) -> usize
pub fn available_output(&self) -> usize
Returns writable output units from the current output index.
§Returns
Returns output capacity visible to this encode step.
Trait Implementations§
Auto Trait Implementations§
impl<'a, Value, Unit> !UnwindSafe for EncodeContext<'a, Value, Unit>
impl<'a, Value, Unit> Freeze for EncodeContext<'a, Value, Unit>
impl<'a, Value, Unit> RefUnwindSafe for EncodeContext<'a, Value, Unit>where
Value: RefUnwindSafe,
Unit: RefUnwindSafe,
impl<'a, Value, Unit> Send for EncodeContext<'a, Value, Unit>
impl<'a, Value, Unit> Sync for EncodeContext<'a, Value, Unit>
impl<'a, Value, Unit> Unpin for EncodeContext<'a, Value, Unit>
impl<'a, Value, Unit> UnsafeUnpin for EncodeContext<'a, Value, Unit>
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