PreproOpt

Trait PreproOpt 

Source
pub trait PreproOpt: PreproClauses {
    // Provided methods
    fn new_with_encoders<VM, CardEnc, PBEnc>(
        inst: OptInstance<VM>,
        card_encoder: CardEnc,
        pb_encoder: PBEnc,
        inprocessing: bool,
    ) -> Self
       where VM: ManageVars,
             CardEnc: FnMut(CardConstraint, &mut Cnf, &mut dyn ManageVars),
             PBEnc: FnMut(PbConstraint, &mut Cnf, &mut dyn ManageVars),
             Self: Sized { ... }
    fn new<VM>(inst: OptInstance<VM>, inprocessing: bool) -> Self
       where VM: ManageVars,
             Self: Sized { ... }
    fn prepro_instance(&mut self) -> OptInstance { ... }
}

Provided Methods§

Source

fn new_with_encoders<VM, CardEnc, PBEnc>( inst: OptInstance<VM>, card_encoder: CardEnc, pb_encoder: PBEnc, inprocessing: bool, ) -> Self
where VM: ManageVars, CardEnc: FnMut(CardConstraint, &mut Cnf, &mut dyn ManageVars), PBEnc: FnMut(PbConstraint, &mut Cnf, &mut dyn ManageVars), Self: Sized,

Initializes a new preprocessor from a OptInstance where the instance is converted to [CNF] with the given encoders.

Source

fn new<VM>(inst: OptInstance<VM>, inprocessing: bool) -> Self
where VM: ManageVars, Self: Sized,

Initializes a new preprocessor from a SatInstance

Source

fn prepro_instance(&mut self) -> OptInstance

Gets the preprocessed instance as a SatInstance

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§