pub struct EncodeContext<'a, Value> { /* private fields */ }Expand description
Read-only context supplied to an encode policy hook.
The engine retains ownership of the mutable output slice. Hooks can inspect
the current value and cursor/capacity metadata, then return an
crate::engine::EncodeUnencodableAction without being able to mutate
output behind the engine’s progress accounting.
§Type Parameters
Value: Logical input value type.
Implementations§
Source§impl<'a, Value> EncodeContext<'a, Value>
impl<'a, Value> EncodeContext<'a, Value>
Sourcepub const fn new(
input_value: &'a Value,
input_index: usize,
output_index: usize,
available_output: usize,
) -> Self
pub const fn new( input_value: &'a Value, input_index: usize, output_index: usize, available_output: usize, ) -> Self
Creates an encode policy context.
§Parameters
input_value: Borrowed input value being encoded.input_index: Absolute input index ofinput_value.output_index: Absolute output index where writing begins.available_output: Output units writable fromoutput_index.
§Returns
Returns a read-only encode context.
Sourcepub const fn input_value(&self) -> &Value
pub const fn input_value(&self) -> &Value
Returns the input value being encoded.
Sourcepub const fn input_index(&self) -> usize
pub const fn input_index(&self) -> usize
Returns the absolute input index of the current value.
Sourcepub const fn output_index(&self) -> usize
pub const fn output_index(&self) -> usize
Returns the absolute output index where writing begins.
Sourcepub const fn available_output(&self) -> usize
pub const fn available_output(&self) -> usize
Returns output capacity visible to this encode attempt.
Trait Implementations§
Source§impl<'a, Value: Clone> Clone for EncodeContext<'a, Value>
impl<'a, Value: Clone> Clone for EncodeContext<'a, Value>
Source§fn clone(&self) -> EncodeContext<'a, Value>
fn clone(&self) -> EncodeContext<'a, Value>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<'a, Value: Copy> Copy for EncodeContext<'a, Value>
Source§impl<'a, Value: Debug> Debug for EncodeContext<'a, Value>
impl<'a, Value: Debug> Debug for EncodeContext<'a, Value>
impl<'a, Value: Eq> Eq for EncodeContext<'a, Value>
Source§impl<'a, Value: Hash> Hash for EncodeContext<'a, Value>
impl<'a, Value: Hash> Hash for EncodeContext<'a, Value>
Source§impl<'a, Value: PartialEq> PartialEq for EncodeContext<'a, Value>
impl<'a, Value: PartialEq> PartialEq for EncodeContext<'a, Value>
impl<'a, Value: PartialEq> StructuralPartialEq for EncodeContext<'a, Value>
Auto Trait Implementations§
impl<'a, Value> Freeze for EncodeContext<'a, Value>
impl<'a, Value> RefUnwindSafe for EncodeContext<'a, Value>where
&'a Value: RefUnwindSafe,
impl<'a, Value> Send for EncodeContext<'a, Value>
impl<'a, Value> Sync for EncodeContext<'a, Value>
impl<'a, Value> Unpin for EncodeContext<'a, Value>
impl<'a, Value> UnsafeUnpin for EncodeContext<'a, Value>where
&'a Value: UnsafeUnpin,
impl<'a, Value> UnwindSafe for EncodeContext<'a, Value>where
&'a Value: 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