//! A [`TerminationCondition`] is a condition which is polled by the solver during the search
//! process. It indicates when the solver should stop, even if no definitive conclusions have been
//! made. The most common example would be [`time_budget::TimeBudget`], which gives the solver a
//! certain time budget to complete its search.
use DerefMut;
pub
pub
pub
/// The central trait that defines a termination condition. A termination condition determines when
/// the solver should give up searching for solutions.
///
/// # Notes
/// - Any `Box<dyn TerminationCondition>` is a valid implementation of `TerminationCondition`.