#[derive(Clone, Debug, Eq, Hash, PartialEq)]
#[must_use]
pub struct DecodeLifecycleOutput<V> {
reset: Vec<V>,
value: V,
finish: Vec<V>,
}
impl<V> DecodeLifecycleOutput<V> {
#[inline(always)]
pub(crate) fn new(reset: Vec<V>, value: V, finish: Vec<V>) -> Self {
Self { reset, value, finish }
}
#[inline(always)]
#[must_use]
pub fn reset(&self) -> &[V] {
&self.reset
}
#[inline(always)]
#[must_use]
pub const fn value(&self) -> &V {
&self.value
}
#[inline(always)]
#[must_use]
pub fn finish(&self) -> &[V] {
&self.finish
}
#[inline(always)]
#[must_use]
pub fn into_parts(self) -> (Vec<V>, V, Vec<V>) {
(self.reset, self.value, self.finish)
}
}