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;