cxx2flow_lib/display/mod.rs
1use enum_dispatch::enum_dispatch;
2
3use crate::{error::Result, graph::Graph};
4
5use self::d2::D2;
6use self::dot::Dot;
7use self::tikz::Tikz;
8
9pub mod d2;
10pub mod dot;
11pub mod tikz;
12#[enum_dispatch]
13pub enum GraphDisplayBackend {
14 Dot,
15 Tikz,
16 D2,
17}
18#[enum_dispatch(GraphDisplayBackend)]
19pub trait GraphDisplay {
20 fn generate_from_graph(&self, graph: &Graph) -> Result<String>;
21}