timsueberkrueb / visit

Automatically generate Rust code for the Visitor pattern

Home Page:https://docs.rs/visit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

visit

Automatically generate code for the Visitor pattern.

Usage

visit! {
    // Automatically generates `Visitor` and `AcceptVisitor` traits
    // The `Visitor` trait will contain `visit_<child>` functions for all items inside of the macro call.
    // The `AcceptVisitor` trait will be implemented automatically for all items.
    #![visitor(name = "Visitor")]

    struct Bar {
        a: Child,
        b: Child,
    }

    struct Child {}
}

struct MyVisitor;

impl Visitor for MyVisitor {
    fn visit_child(&mut self, _child: &Child) {
        // Do something cool
    }
}

License

visit is licensed under either of the following licenses, at your option:

About

Automatically generate Rust code for the Visitor pattern

https://docs.rs/visit

License:Apache License 2.0


Languages

Language:Rust 100.0%