lber_serde/structures/explicit.rs
1use structure;
2
3use super::{ASNTag, Tag};
4use common::TagClass;
5
6/// Explicitly tagged value.
7// Explicit tags don't implement Default because that just wouldn't make sense.
8#[derive(Clone, Debug, PartialEq)]
9pub struct ExplicitTag {
10 pub id: u64,
11 pub class: TagClass,
12 pub inner: Box<Tag>,
13}
14
15impl ASNTag for ExplicitTag {
16 fn into_structure(self) -> structure::StructureTag {
17 structure::StructureTag {
18 id: self.id,
19 class: self.class,
20 payload: structure::PL::C(vec![self.inner.into_structure()]),
21 }
22 }
23}