Enum haybale::solver_utils::PossibleSolutions [−][src]
Variants
Exactly(HashSet<V>)
This is exactly the set of possible solutions; there are no others. Note that an empty set here indicates there are no possible solutions.
AtLeast(HashSet<V>)
All of the solutions in this set are possible solutions, but there may be others. That is, there are at least this many solutions.
Implementations
impl<V: Eq + Hash> PossibleSolutions<V>
[src]
pub fn empty() -> Self
[src]
Create a new, empty, PossibleSolutions
(representing no possible solution)
pub fn exactly_one(sol: V) -> Self
[src]
Create a new PossibleSolutions
representing exactly one possible solution
pub fn exactly_two(sol1: V, sol2: V) -> Self
[src]
Create a new PossibleSolutions
repesenting exactly two possible solutions
impl PossibleSolutions<BVSolution>
[src]
pub fn as_u64_solutions(&self) -> Option<PossibleSolutions<u64>>
[src]
Convert a PossibleSolutions
over BVSolution
into a
PossibleSolutions
over u64
, by applying as_u64()
to each
BVSolution
.
If as_u64()
fails for any individual solution, this returns None
.
impl<V: Eq + Hash> PossibleSolutions<V>
[src]
pub fn count(&self) -> SolutionCount
[src]
Get a count of how many possible solutions there are.
Trait Implementations
impl<V: Clone + Eq + Hash> Clone for PossibleSolutions<V>
[src]
fn clone(&self) -> PossibleSolutions<V>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<V: Debug + Eq + Hash> Debug for PossibleSolutions<V>
[src]
impl<V: Eq + Hash> Eq for PossibleSolutions<V>
[src]
impl<V: Eq + Hash> FromIterator<V> for PossibleSolutions<V>
[src]
fn from_iter<T: IntoIterator<Item = V>>(iter: T) -> Self
[src]
Create a PossibleSolutions::Exactly
from the contents of an iterator
impl<V: PartialEq + Eq + Hash> PartialEq<PossibleSolutions<V>> for PossibleSolutions<V>
[src]
fn eq(&self, other: &PossibleSolutions<V>) -> bool
[src]
fn ne(&self, other: &PossibleSolutions<V>) -> bool
[src]
impl<V: Eq + Hash> StructuralEq for PossibleSolutions<V>
[src]
impl<V: Eq + Hash> StructuralPartialEq for PossibleSolutions<V>
[src]
Auto Trait Implementations
impl<V> RefUnwindSafe for PossibleSolutions<V> where
V: RefUnwindSafe,
[src]
V: RefUnwindSafe,
impl<V> Send for PossibleSolutions<V> where
V: Send,
[src]
V: Send,
impl<V> Sync for PossibleSolutions<V> where
V: Sync,
[src]
V: Sync,
impl<V> Unpin for PossibleSolutions<V> where
V: Unpin,
[src]
V: Unpin,
impl<V> UnwindSafe for PossibleSolutions<V> where
V: UnwindSafe,
[src]
V: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,