pub mod ac3;
pub mod backjump;
pub mod backtrack;
pub mod gac_alldiff;
pub mod gac_alldiff_except;
pub mod local_search;
pub mod monotonic;
pub mod nogoods;
pub mod optimize;
pub mod propagate;
use crate::adjacency::Adjacency;
use crate::constraint::ConstraintEnum;
use crate::domain::Domain;
use crate::variable::Variable;
use crate::SolveStats;
pub(crate) struct SearchContext<'a, D: Domain> {
pub variables: &'a mut [Variable<D>],
pub constraints: &'a [ConstraintEnum<D>],
pub adjacency: &'a Adjacency,
pub stats: &'a mut SolveStats,
}