[][src]Struct biodivine_lib_bdd::BddVariableSetBuilder

pub struct BddVariableSetBuilder {
    var_names: Vec<String>,
    var_names_set: HashSet<String>,
}

Used to safely initialize BddVariableSet.

Note that some characters are not allowed in variable names (to allow safe serialisation, formula parsers and export as .dot, etc.). These characters are !, &, |, ^, =, <, >, ( and ).

Fields

var_names: Vec<String>var_names_set: HashSet<String>

Methods

impl BddVariableSetBuilder[src]

pub fn new() -> BddVariableSetBuilder[src]

Create a new builder without any variables.

pub fn make_variable(&mut self, name: &str) -> BddVariable[src]

Create a new variable with the given name. Returns a BddVariable instance that can be later used to create and query actual BDDs.

Panics:

  • Each variable name has to be unique.
  • Currently, there can be at most 65535 variables.
  • The name must not contain !, &, |, ^, =, <, >, ( or ).

pub fn make_variables(&mut self, names: Vec<&str>) -> Vec<BddVariable>[src]

Similar to make_variable, but allows creating multiple variables at the same time.

pub fn build(self) -> BddVariableSet[src]

Convert this builder to an actual variable set.

Auto Trait Implementations

impl RefUnwindSafe for BddVariableSetBuilder

impl Send for BddVariableSetBuilder

impl Sync for BddVariableSetBuilder

impl Unpin for BddVariableSetBuilder

impl UnwindSafe for BddVariableSetBuilder

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.