pub struct TagNumber(/* private fields */);
Expand description
ASN.1 tag numbers (i.e. lower 5 bits of a Tag
).
From X.690 Section 8.1.2.2:
bits 5 to 1 shall encode the number of the tag as a binary integer with bit 5 as the most significant bit.
This library supports tag numbers ranging from zero to 30 (inclusive), which can be represented as a single identifier octet.
Section 8.1.2.4 describes how to support multi-byte tag numbers, which are
encoded by using a leading tag number of 31 (0b11111
). This library
deliberately does not support this: tag numbers greater than 30 are
disallowed.
Implementations§
Source§impl TagNumber
impl TagNumber
Sourcepub const fn new(byte: u8) -> Self
pub const fn new(byte: u8) -> Self
Create a new tag number (const-friendly).
Panics if the tag number is greater than 30
.
For a fallible conversion, use TryFrom
instead.
Sourcepub fn application(self, constructed: bool) -> Tag
pub fn application(self, constructed: bool) -> Tag
Create an APPLICATION
tag with this tag number.
Sourcepub fn context_specific(self, constructed: bool) -> Tag
pub fn context_specific(self, constructed: bool) -> Tag
Create a CONTEXT-SPECIFIC
tag with this tag number.
Trait Implementations§
Source§impl<'a> Arbitrary<'a> for TagNumber
Available on crate feature arbitrary
only.
impl<'a> Arbitrary<'a> for TagNumber
arbitrary
only.Source§fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>
Self
from the given unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Unstructured
this type
needs to construct itself. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
Self
from the entirety of the given
unstructured data. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Unstructured
this type
needs to construct itself. Read more