1#![doc = document_features::document_features!()]
5#![warn(missing_docs)]
6#![deny(unsafe_op_in_unsafe_fn)]
7#![allow(clippy::type_complexity)]
8#![allow(clippy::assertions_on_constants)]
11
12use std::fmt;
13
14pub trait AsciiDisplay {
16 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error>;
18}
19
20pub trait ParseTagged<Tag>: Sized {
22 fn parse(s: &str) -> Option<(Self, Tag)>;
24}
25
26#[cfg(feature = "dddmp")]
27pub mod dddmp;
28
29pub mod dot;
31
32#[cfg(feature = "visualize")]
33mod visualize;
34#[cfg(feature = "visualize")]
35pub use visualize::{VisualizationListener, Visualizer};