structstd.crypto.asn1.ExpectedTag[src]

For decoding.

Fields

number: ?Tag.Number = null
constructed: ?bool = null
class: ?Tag.Class = null

Functions

Functioninit[src]

pub fn init(number: ?Tag.Number, constructed: ?bool, class: ?Tag.Class) ExpectedTag

Parameters

number: ?Tag.Number
constructed: ?bool
class: ?Tag.Class

Source Code

Source code
pub fn init(number: ?Tag.Number, constructed: ?bool, class: ?Tag.Class) ExpectedTag {
    return .{ .number = number, .constructed = constructed, .class = class };
}

Functionprimitive[src]

pub fn primitive(number: ?Tag.Number) ExpectedTag

Parameters

number: ?Tag.Number

Source Code

Source code
pub fn primitive(number: ?Tag.Number) ExpectedTag {
    return .{ .number = number, .constructed = false, .class = .universal };
}

Functionmatch[src]

pub fn match(self: ExpectedTag, tag: Tag) bool

Parameters

tag: Tag

Source Code

Source code
pub fn match(self: ExpectedTag, tag: Tag) bool {
    if (self.number) |e| {
        if (tag.number != e) return false;
    }
    if (self.constructed) |e| {
        if (tag.constructed != e) return false;
    }
    if (self.class) |e| {
        if (tag.class != e) return false;
    }
    return true;
}

Source Code

Source code
pub const ExpectedTag = struct {
    number: ?Tag.Number = null,
    constructed: ?bool = null,
    class: ?Tag.Class = null,

    pub fn init(number: ?Tag.Number, constructed: ?bool, class: ?Tag.Class) ExpectedTag {
        return .{ .number = number, .constructed = constructed, .class = class };
    }

    pub fn primitive(number: ?Tag.Number) ExpectedTag {
        return .{ .number = number, .constructed = false, .class = .universal };
    }

    pub fn match(self: ExpectedTag, tag: Tag) bool {
        if (self.number) |e| {
            if (tag.number != e) return false;
        }
        if (self.constructed) |e| {
            if (tag.constructed != e) return false;
        }
        if (self.class) |e| {
            if (tag.class != e) return false;
        }
        return true;
    }
}