pub trait VisitMut<'a> {
Show 31 methods fn visit_ber_mut(&mut self, ber: &mut BerObject<'a>, depth: usize) { ... }
fn visit_ber_bitstring_mut(
        &mut self,
        ignored: &mut u8,
        data: &'a mut BitStringObject<'_>,
        depth: usize
    ) { ... }
fn visit_ber_bmpstring_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_boolean_mut(&mut self, b: &'a mut bool, depth: usize) { ... }
fn visit_ber_endofcontent_mut(&mut self, depth: usize) { ... }
fn visit_ber_enum_mut(&mut self, e: &'a mut u64, depth: usize) { ... }
fn visit_ber_generalstring_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_generalizedtime_mut(
        &mut self,
        t: &'a ASN1DateTime,
        depth: usize
    ) { ... }
fn visit_ber_graphicstring_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_ia5string_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_integer_mut(&mut self, raw_bytes: &'a mut &[u8], depth: usize) { ... }
fn visit_ber_null_mut(&mut self, depth: usize) { ... }
fn visit_ber_numericstring_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_oid_mut(&mut self, oid: &'a mut Oid<'_>, depth: usize) { ... }
fn visit_ber_objectdescriptor_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_octetstring_mut(&mut self, b: &'a [u8], depth: usize) { ... }
fn visit_ber_optional_mut(
        &mut self,
        obj: Option<&'a mut BerObject<'a>>,
        depth: usize
    ) { ... }
fn visit_ber_printablestring_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_relative_oid_mut(&mut self, oid: &'a mut Oid<'_>, depth: usize) { ... }
fn visit_ber_sequence_mut(
        &mut self,
        l: &mut Vec<BerObject<'a>>,
        depth: usize
    ) { ... }
fn visit_ber_set_mut(&mut self, ber: &mut Vec<BerObject<'a>>, depth: usize) { ... }
fn visit_ber_teletexstring_mut(&mut self, s: &'a mut &str, depth: usize) { ... }
fn visit_ber_tagged_mut(
        &mut self,
        class: &'a mut Class,
        tag: &'a mut Tag,
        obj: &'a mut BerObject<'a>,
        depth: usize
    ) { ... }
fn visit_ber_utctime_mut(&mut self, t: &'a ASN1DateTime, depth: usize) { ... }
fn visit_ber_utf8string_mut(&mut self, s: &'a str, depth: usize) { ... }
fn visit_ber_universalstring_mut(
        &mut self,
        raw_bytes: &'a mut &[u8],
        depth: usize
    ) { ... }
fn visit_ber_videotextstring_mut(
        &mut self,
        raw_bytes: &'a mut &str,
        depth: usize
    ) { ... }
fn visit_ber_visiblestring_mut(
        &mut self,
        raw_bytes: &'a mut &str,
        depth: usize
    ) { ... }
fn visit_ber_unknown_mut(&mut self, ber: &mut Any<'a>, depth: usize) { ... }
fn run(&mut self, ber: &'a mut BerObject<'a>) { ... }
fn run_at(&mut self, ber: &'a mut BerObject<'a>, depth: usize) { ... }
}
Expand description

BER object tree traversal to walk a shared borrow of a BER object

When implementing your own visitor, define your own visit_ber_xxx methods.

Note that visit_ber is called for every object, so if you implement multiple visitor methods they will be called multiple times for the same object. Generally, if visit_ber is implemented, then other methods are not needed.

For example, on a Sequence item, visit_ber is called first, then visit_ber_sequence, and then visit_ber for every sequence object (recursively).

Entry point: use the VisitMut::run or VisitMut::run_at methods.

Visitor functions

Provided methods

Called for every BER object

Called for BER bitstring objects

Called for BER bmpstring objects

Called for BER boolean objects

Called for BER end-of-content objects

Called for BER enum objects

Called for BER generalstring objects

Called for BER generalizedtime objects

Called for BER graphicstring objects

Called for BER ia5string objects

Called for BER integer objects

Called for BER null objects

Called for BER numericstring objects

Called for BER OID objects

Called for BER object descriptor objects

Called for BER octetstring objects

Called for BER optional objects

Called for BER printablestring objects

Called for BER relative OID objects

Called for BER sequence objects

Called for BER set objects

Called for BER teletexstring objects

Called for BER tagged objects

Called for BER generalizedtime objects

Called for BER utf8string objects

Called for BER universalstring objects

Called for BER videotexstring objects

Called for BER visiblestring objects

Called for BER unknown objects

Perform a BFS traversal of the BER object, calling the visitor functions during he traversal

Usually, this method should not be redefined (unless implementing a custom traversal)

Perform a BFS traversal of the BER object, calling the visitor functions during he traversal

Start at specified depth.

Usually, this method should not be redefined (unless implementing a custom traversal)

Implementors