|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Path-pattern sink that writes GraphViz DOT frames. More...
#include <ca-dot.H>
Public Member Functions | |
| Dot_Frame_Sink (std::filesystem::path path_pattern, Palette palette, DOT_Render_Options opts={}, const std::size_t zero_pad=6) | |
| Build a DOT frame sink. | |
| template<typename Graph > | |
| void | accept (const std::size_t step, const Graph &graph) |
| Write one DOT frame. | |
Static Public Member Functions | |
| static void | flush () |
| DOT frames are written eagerly; this is a no-op. | |
Private Attributes | |
| std::filesystem::path | pattern_ |
| Palette | palette_ |
| DOT_Render_Options | opts_ {} |
| std::size_t | zero_pad_ = 6 |
Path-pattern sink that writes GraphViz DOT frames.
| Palette | invocable state_type -> std::string. |
|
inline |
Build a DOT frame sink.
| [in] | path_pattern | output path pattern. |
| [in] | palette | state-to-fill-colour mapper. |
| [in] | opts | rendering options. |
| [in] | zero_pad | minimum width for {step}. |
| Any | exception thrown by Palette move/copy. Does not touch the filesystem. |
|
inline |
Write one DOT frame.
| Graph | graph lattice type. |
| [in] | step | simulation step. |
| [in] | graph | graph frame to write. |
| std::runtime_error | if the destination file cannot be opened or the underlying stream write fails. |
| std::filesystem::filesystem_error | if the parent directory cannot be created. |
| Any | exception propagated by the palette. |
Definition at line 256 of file ca-dot.H.
References ah_runtime_error_if, Aleph::blossom_maximum_cardinality_matching(), Aleph::CA::format_step_path(), Aleph::CA::Dot_Frame_Sink< Palette >::opts_, out, Aleph::CA::Dot_Frame_Sink< Palette >::palette_, Aleph::CA::Dot_Frame_Sink< Palette >::pattern_, Aleph::CA::render_graph_lattice_dot(), and Aleph::CA::Dot_Frame_Sink< Palette >::zero_pad_.
|
inlinestatic |
|
private |
Definition at line 225 of file ca-dot.H.
Referenced by Aleph::CA::Dot_Frame_Sink< Palette >::accept().
|
private |
Definition at line 224 of file ca-dot.H.
Referenced by Aleph::CA::Dot_Frame_Sink< Palette >::accept().
|
private |
Definition at line 223 of file ca-dot.H.
Referenced by Aleph::CA::Dot_Frame_Sink< Palette >::accept().
|
private |
Definition at line 226 of file ca-dot.H.
Referenced by Aleph::CA::Dot_Frame_Sink< Palette >::accept().