dot-generator 0.2.0

the set of macros to generate dot files
Documentation
  • Coverage
  • 100%
    10 out of 10 items documented8 out of 8 items with examples
  • Size
  • Source code size: 18.29 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.54 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • besok

The set of macroses helping to generate the elements of graphviz

The set helps to generate the major components of the graphviz dot notation endevouring to follow comparatively close to the language notation

Description:

In overall, the format of macros is the following one:

  • name or id or any other markers
  • list of vec with a prefix , or seq of elems with a prefix ;

#Note:

  • for the list of items the way to pass vec is the following one: element(.. , vec of items)
  • for the seq of items the way to pass several items is the following one: element(.. ; items+)

Examples:

       fn graph_test() {
       use dot_generator::*;
       use dot_structures::*;

       let g = r#"
       strict digraph t {
           aa[color=green]
           subgraph v {
               aa[shape=square]
               subgraph vv{a2 -> b2}
               aaa[color=red]
               aaa -> bbb
           }
           aa -> be -> subgraph v { d -> aaa}
           aa -> aaa -> v
       }
       "#;

           graph!(strict di id!("t");
             node!("aa";attr!("color","green")),
             subgraph!("v";
               node!("aa"; attr!("shape","square")),
               subgraph!("vv"; edge!(node_id!("a2") => node_id!("b2"))),
               node!("aaa";attr!("color","red")),
               edge!(node_id!("aaa") => node_id!("bbb"))
               ),
             edge!(node_id!("aa") => node_id!("be") => subgraph!("v"; edge!(node_id!("d") => node_id!("aaa")))),
             edge!(node_id!("aa") => node_id!("aaa") => node_id!("v"))
           );
   }