snark_tool/procedure/mod.rs
1//! Procedure tools encapsulate snark-tool's functionality to procedures runnable in chain.
2//!
3//! # Basic usage
4//! Creation of basic procedure chain:
5//!
6//! ```
7//! # use snark_tool::procedure::basic_procedures::read::{ReadProcedureConfig, ReadProcedureBuilder};
8//! # use snark_tool::procedure::basic_procedures::read;
9//! # use snark_tool::procedure::basic_procedures::colour::{ColourProcedureConfig, ColourProcedureBuilder};
10//! # use snark_tool::procedure::basic_procedures::counter::{CounterProcedureConfig, CounterProcedureBuilder};
11//! # use snark_tool::procedure::procedure_chain::ProcedureChain;
12//! # use snark_tool::graph::undirected::simple_graph::graph::SimpleGraph;
13//! # use snark_tool::procedure::procedure::GraphProperties;
14//! #
15//! // how to create chain of procedures
16//! fn main() {
17//! let read_config = ReadProcedureConfig::new(
18//! "path-to-file.g6".to_string(),
19//! read::G6_FORMAT.to_string(),
20//! None,
21//! );
22//! let read = ReadProcedureBuilder::build(read_config);
23//! let colour_config = ColourProcedureConfig::default();
24//! let colour = ColourProcedureBuilder::build(colour_config);
25//! let counter_config = CounterProcedureConfig::new(true);
26//! let counter = CounterProcedureBuilder::build(counter_config);
27//!
28//! let mut procedures = vec![];
29//! procedures.push(read);
30//! procedures.push(colour);
31//! procedures.push(counter);
32//!
33//! let chain = ProcedureChain::from_procedures(procedures).unwrap();
34//! let mut graphs_with_properties: Vec<(SimpleGraph, GraphProperties)> = vec![];
35//! let _result = chain.run(&mut graphs_with_properties);
36//! }
37//! ```
38
39pub mod basic_procedures;
40pub mod configuration;
41pub mod error;
42pub mod helpers;
43pub mod procedure;
44pub mod procedure_builder;
45pub mod procedure_chain;
46pub mod procedure_registry;
47
48#[cfg(test)]
49mod tests;