pumpkin_core/
lib.rs

1#[cfg(doc)]
2use crate::results::unsatisfiable::UnsatisfiableUnderAssumptions;
3pub(crate) mod basic_types;
4pub mod containers;
5pub(crate) mod engine;
6pub(crate) mod math;
7pub(crate) mod propagators;
8pub(crate) mod pumpkin_asserts;
9
10#[cfg(doc)]
11use crate::branching::Brancher;
12#[cfg(doc)]
13use crate::termination::TerminationCondition;
14
15pub mod branching;
16pub mod constraints;
17pub mod optimisation;
18pub mod proof;
19pub mod statistics;
20
21pub use convert_case;
22pub use rand;
23
24// We declare a private module with public use, so that all exports from API are exports directly
25// from the crate.
26//
27// Example:
28// `use pumpkin_solver::Solver;`
29// vs.
30// `use pumpkin_solver::api::Solver;`
31mod api;
32
33pub use api::*;
34
35pub use crate::api::solver::DefaultBrancher;
36pub use crate::api::solver::PropagatorHandle;
37pub use crate::api::solver::Solver;
38pub use crate::basic_types::ConstraintOperationError;
39pub use crate::basic_types::Random;