pub struct DirectAccessEngine<'a> { /* private fields */ }Expand description
An object that, given an (internally computed) complete order on the models of a DecisionDNNF, allows to return the k-th model.
The order of the models is given by the structure of the formula. This implies that given the same formula the order will remain the same at each call, but it will change when considering an equivalent formula which has a different structure.
Implementations§
Source§impl<'a> DirectAccessEngine<'a>
impl<'a> DirectAccessEngine<'a>
Sourcepub fn new(model_counter: &'a ModelCounter<'a>) -> Self
pub fn new(model_counter: &'a ModelCounter<'a>) -> Self
Builds a new DirectAccessEngine given a ModelCounter.
The formula under consideration is the one of the model counter.
Source§impl DirectAccessEngine<'_>
impl DirectAccessEngine<'_>
Sourcepub fn model(&self, n: Integer) -> Option<Vec<Option<Literal>>>
pub fn model(&self, n: Integer) -> Option<Vec<Option<Literal>>>
Returns the model at the given index.
Sourcepub fn model_with_graph(
&self,
n: Integer,
) -> Option<(Vec<Option<Literal>>, Vec<usize>)>
pub fn model_with_graph( &self, n: Integer, ) -> Option<(Vec<Option<Literal>>, Vec<usize>)>
Returns the model at the given index, along its model graph.
If the index is higher than the number of models, None is returned.
Sourcepub fn ddnnf(&self) -> &DecisionDNNF
pub fn ddnnf(&self) -> &DecisionDNNF
Returns the underlying ddnnf.
Auto Trait Implementations§
impl<'a> Freeze for DirectAccessEngine<'a>
impl<'a> RefUnwindSafe for DirectAccessEngine<'a>
impl<'a> Send for DirectAccessEngine<'a>
impl<'a> Sync for DirectAccessEngine<'a>
impl<'a> Unpin for DirectAccessEngine<'a>
impl<'a> UnwindSafe for DirectAccessEngine<'a>
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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.