#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub(in crate::transcode) struct PendingValue<Value> {
value: Value,
input_index: usize,
}
impl<Value> PendingValue<Value> {
#[inline]
#[must_use]
pub(in crate::transcode) const fn new(value: Value, input_index: usize) -> Self {
Self { value, input_index }
}
#[inline]
#[must_use]
pub(in crate::transcode) const fn input_index(&self) -> usize {
self.input_index
}
#[inline]
#[must_use = "the decoded value must be inspected before encoding"]
pub(in crate::transcode) const fn value(&self) -> &Value {
&self.value
}
#[inline]
#[must_use = "the decoded value must be retained for downstream encoding"]
pub(in crate::transcode) fn into_value(self) -> Value {
self.value
}
}