Function der_parser::ber::parse_ber_implicit[][src]

pub fn parse_ber_implicit<'a, Tag, F>(
    i: &'a [u8],
    tag: Tag,
    f: F
) -> BerResult<'a> where
    F: Fn(&'a [u8], &BerObjectHeader<'_>, usize) -> BerResult<'a, BerObjectContent<'a>>,
    Tag: Into<BerTag>, 
Expand description

Parse an implicit tagged object, applying function to read content

Note: unlike explicit tagged functions, the callback must be a content parsing function, often based on the parse_ber_content combinator.

The built object will use the original header (and tag), so the content may not match the tag value.

For a combinator version, see parse_ber_tagged_implicit.

For a generic version (different output and error types), see parse_ber_tagged_implicit_g.

Examples

The following parses [3] IMPLICIT INTEGER into a BerObject:

fn parse_int_implicit(i:&[u8]) -> BerResult<BerObject> {
    parse_ber_implicit(
        i,
        3,
        parse_ber_content(BerTag::Integer),
    )
}

let res = parse_int_implicit(bytes);