structstd.crypto.asn1.FieldTag[src]

Fields

number: std.meta.Tag(Tag.Number)
class: Tag.Class
explicit: bool = true

Functions

FunctioninitExplicit[src]

pub fn initExplicit(number: std.meta.Tag(Tag.Number), class: Tag.Class) FieldTag

Parameters

number: std.meta.Tag(Tag.Number)
class: Tag.Class

Source Code

Source code
pub fn initExplicit(number: std.meta.Tag(Tag.Number), class: Tag.Class) FieldTag {
    return .{ .number = number, .class = class, .explicit = true };
}

FunctioninitImplicit[src]

pub fn initImplicit(number: std.meta.Tag(Tag.Number), class: Tag.Class) FieldTag

Parameters

number: std.meta.Tag(Tag.Number)
class: Tag.Class

Source Code

Source code
pub fn initImplicit(number: std.meta.Tag(Tag.Number), class: Tag.Class) FieldTag {
    return .{ .number = number, .class = class, .explicit = false };
}

FunctionfromContainer[src]

pub fn fromContainer(comptime Container: type, comptime field_name: []const u8) ?FieldTag

Parameters

Container: type
field_name: []const u8

Source Code

Source code
pub fn fromContainer(comptime Container: type, comptime field_name: []const u8) ?FieldTag {
    if (@hasDecl(Container, "asn1_tags") and @hasField(@TypeOf(Container.asn1_tags), field_name)) {
        return @field(Container.asn1_tags, field_name);
    }

    return null;
}

FunctiontoTag[src]

pub fn toTag(self: FieldTag) Tag

Parameters

self: FieldTag

Source Code

Source code
pub fn toTag(self: FieldTag) Tag {
    return Tag.init(@enumFromInt(self.number), self.explicit, self.class);
}

Source Code

Source code
pub const FieldTag = struct {
    number: std.meta.Tag(Tag.Number),
    class: Tag.Class,
    explicit: bool = true,

    pub fn initExplicit(number: std.meta.Tag(Tag.Number), class: Tag.Class) FieldTag {
        return .{ .number = number, .class = class, .explicit = true };
    }

    pub fn initImplicit(number: std.meta.Tag(Tag.Number), class: Tag.Class) FieldTag {
        return .{ .number = number, .class = class, .explicit = false };
    }

    pub fn fromContainer(comptime Container: type, comptime field_name: []const u8) ?FieldTag {
        if (@hasDecl(Container, "asn1_tags") and @hasField(@TypeOf(Container.asn1_tags), field_name)) {
            return @field(Container.asn1_tags, field_name);
        }

        return null;
    }

    pub fn toTag(self: FieldTag) Tag {
        return Tag.init(@enumFromInt(self.number), self.explicit, self.class);
    }
}