pub struct PropagationQueue { /* private fields */ }Expand description
Priority queue for propagations.
Implementations§
Source§impl PropagationQueue
impl PropagationQueue
Sourcepub fn new(config: PriorityQueueConfig) -> Self
pub fn new(config: PriorityQueueConfig) -> Self
Create a new priority queue.
Sourcepub fn default_config() -> Self
pub fn default_config() -> Self
Create with default configuration.
Sourcepub fn enqueue(
&mut self,
prop_type: PropagationType,
literal: Option<Lit>,
) -> PropagationId
pub fn enqueue( &mut self, prop_type: PropagationType, literal: Option<Lit>, ) -> PropagationId
Enqueue a propagation.
Sourcepub fn dequeue(&mut self) -> Option<Propagation>
pub fn dequeue(&mut self) -> Option<Propagation>
Dequeue the highest-priority propagation.
Sourcepub fn peek(&self) -> Option<&Propagation>
pub fn peek(&self) -> Option<&Propagation>
Peek at the highest-priority propagation without removing it.
Sourcepub fn stats(&self) -> &PriorityQueueStats
pub fn stats(&self) -> &PriorityQueueStats
Get statistics.
Sourcepub fn reset_stats(&mut self)
pub fn reset_stats(&mut self)
Reset statistics.
Trait Implementations§
Source§impl Debug for PropagationQueue
impl Debug for PropagationQueue
Auto Trait Implementations§
impl Freeze for PropagationQueue
impl RefUnwindSafe for PropagationQueue
impl Send for PropagationQueue
impl Sync for PropagationQueue
impl Unpin for PropagationQueue
impl UnwindSafe for PropagationQueue
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more