Skip to main content

Tag

Struct Tag 

Source
pub struct Tag {
    pub class: TagClass,
    pub tag_type: TagType,
    pub number: u32,
}
Expand description

A BER tag identifier.

Fields§

§class: TagClass

The tag class

§tag_type: TagType

Whether this is a constructed type

§number: u32

The tag number

Implementations§

Source§

impl Tag

Source

pub const fn new(class: TagClass, tag_type: TagType, number: u32) -> Self

Create a new tag.

Source

pub const fn universal_primitive(number: u32) -> Self

Create a universal primitive tag.

Source

pub const fn universal_constructed(number: u32) -> Self

Create a universal constructed tag.

Source

pub const fn context_primitive(number: u32) -> Self

Create a context-specific primitive tag.

Source

pub const fn context_constructed(number: u32) -> Self

Create a context-specific constructed tag.

Source

pub const fn application_primitive(number: u32) -> Self

Create an application primitive tag.

Source

pub const fn application_constructed(number: u32) -> Self

Create an application constructed tag.

Source

pub fn is_primitive(&self) -> bool

Check if this tag is primitive.

Source

pub fn is_constructed(&self) -> bool

Check if this tag is constructed.

Source

pub fn is_universal(&self) -> bool

Check if this tag is universal class.

Source

pub fn is_context(&self) -> bool

Check if this tag is context-specific class.

Source

pub fn is_application(&self) -> bool

Check if this tag is application class.

Source

pub fn encode(&self) -> Vec<u8>

Encode this tag to bytes.

Source

pub fn decode(data: &[u8]) -> Result<(Self, usize)>

Decode a tag from bytes.

Source§

impl Tag

Source

pub const BOOLEAN: Tag

BOOLEAN tag

Source

pub const INTEGER: Tag

INTEGER tag

Source

pub const BIT_STRING: Tag

BIT STRING tag

Source

pub const OCTET_STRING: Tag

OCTET STRING tag

Source

pub const NULL: Tag

NULL tag

Source

pub const OID: Tag

OBJECT IDENTIFIER tag

Source

pub const REAL: Tag

REAL tag

Source

pub const ENUMERATED: Tag

ENUMERATED tag

Source

pub const UTF8_STRING: Tag

UTF8String tag

Source

pub const RELATIVE_OID: Tag

RELATIVE-OID tag

Source

pub const SEQUENCE: Tag

SEQUENCE tag

Source

pub const SET: Tag

SET tag

Trait Implementations§

Source§

impl Clone for Tag

Source§

fn clone(&self) -> Tag

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Tag

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Tag

Source§

fn eq(&self, other: &Tag) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Tag

Source§

impl Eq for Tag

Source§

impl StructuralPartialEq for Tag

Auto Trait Implementations§

§

impl Freeze for Tag

§

impl RefUnwindSafe for Tag

§

impl Send for Tag

§

impl Sync for Tag

§

impl Unpin for Tag

§

impl UnsafeUnpin for Tag

§

impl UnwindSafe for Tag

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more