//! Implicit-tagging decode trait
use crateResult;
use crateEncoding;
/// Decode the VALUE bytes of an `[N] IMPLICIT`-tagged element.
///
/// After the context tag and length have been consumed from the wire, the
/// remaining `content` bytes are the same bytes that would appear as the value
/// of the inner type under its own tag. This trait lets a type reconstruct
/// itself directly from those bytes, avoiding a separate allocation for the
/// tag prefix.
///
/// # Implementing this trait
///
/// For primitive types (OCTET STRING, BIT STRING, …) `content` is the raw
/// value bytes with no tag or length wrapper. For constructed types (SEQUENCE,
/// SET) `content` is the body of the constructed element — the bytes that
/// would follow the SEQUENCE/SET tag and length.
///
/// The derive macro generates this impl automatically for structs with a
/// lifetime parameter.