1#[macro_use]
2pub(crate) mod macros {
3 macro_rules! impl_setter {
4 ($self:ident, $field:ident, $type:ty) => {
5 pub fn $field(mut $self, $field: $type) -> Self {
6 $self.$field = $field;
7 $self
8 }
9 }
10 }
11}
12
13pub(crate) mod datastructures;
14
15pub mod exact;
16pub mod graph;
17pub mod heuristic_elimination_order;
18pub mod io;
19pub mod lowerbound;
20pub mod meta_heuristics;
21pub mod solver;
22pub mod tree_decomposition;
23
24mod rule_based_reducer;
25mod safe_separator_framework;
26pub use rule_based_reducer::RuleBasedPreprocessor;
27pub use safe_separator_framework::{SafeSeparatorFramework, SafeSeparatorLimits};
28
29#[cfg(feature = "handle-ctrlc")]
30pub mod signals;
31
32#[cfg(feature = "cli")]
33pub mod timeout;
34
35#[cfg(feature = "log")]
36#[cfg(feature = "env_logger")]
37pub mod log;