pub struct SearchBudget {
pub max_expansions: Option<usize>,
pub max_duration: Option<Duration>,
}Expand description
Caller-chosen expansion and/or wall-clock limits for one search.
Both fields are independent optional caps. Default / Self::UNLIMITED means
the solver runs until found, no-path, or an owner-defined hard stop.
Fields§
§max_expansions: Option<usize>Maximum algorithm-defined expansions (see lane visited_nodes docs).
When set, the solver may expand at most this many nodes. Finding the goal on the last allowed expansion still returns found.
max_duration: Option<Duration>Maximum wall-clock duration measured from search start (BudgetWatch::start).
Implementations§
Source§impl SearchBudget
impl SearchBudget
Sourcepub const UNLIMITED: SearchBudget
pub const UNLIMITED: SearchBudget
No expansion or wall-clock limit.
Sourcepub const fn max_expansions(limit: usize) -> SearchBudget
pub const fn max_expansions(limit: usize) -> SearchBudget
Expansion-only budget.
Sourcepub const fn max_duration(limit: Duration) -> SearchBudget
pub const fn max_duration(limit: Duration) -> SearchBudget
Wall-clock-only budget.
Sourcepub const fn with_max_expansions(self, limit: usize) -> SearchBudget
pub const fn with_max_expansions(self, limit: usize) -> SearchBudget
Sets Self::max_expansions, preserving any duration limit.
Sourcepub const fn with_max_duration(self, limit: Duration) -> SearchBudget
pub const fn with_max_duration(self, limit: Duration) -> SearchBudget
Sets Self::max_duration, preserving any expansion limit.
Sourcepub const fn is_unlimited(&self) -> bool
pub const fn is_unlimited(&self) -> bool
Whether both caps are unset.
Trait Implementations§
Source§impl Clone for SearchBudget
impl Clone for SearchBudget
Source§fn clone(&self) -> SearchBudget
fn clone(&self) -> SearchBudget
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SearchBudget
Source§impl Debug for SearchBudget
impl Debug for SearchBudget
Source§impl Default for SearchBudget
impl Default for SearchBudget
Source§fn default() -> SearchBudget
fn default() -> SearchBudget
Returns the “default value” for a type. Read more
impl Eq for SearchBudget
Source§impl PartialEq for SearchBudget
impl PartialEq for SearchBudget
impl StructuralPartialEq for SearchBudget
Auto Trait Implementations§
impl Freeze for SearchBudget
impl RefUnwindSafe for SearchBudget
impl Send for SearchBudget
impl Sync for SearchBudget
impl Unpin for SearchBudget
impl UnsafeUnpin for SearchBudget
impl UnwindSafe for SearchBudget
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more