pub trait InitCert: Init {
type ProofWriter: Write;
// Required method
fn new_cert<Cls>(
clauses: Cls,
objs: Vec<Objective>,
var_manager: VarManager,
opts: KernelOptions,
proof: Proof<Self::ProofWriter>,
block_clause_gen: <Self as Init>::BlockClauseGen,
) -> Result<Self>
where Cls: IntoIterator<Item = (Clause, AbsConstraintId)>;
// Provided method
fn from_instance_cert(
inst: Instance,
opts: KernelOptions,
proof: Proof<Self::ProofWriter>,
block_clause_gen: <Self as Init>::BlockClauseGen,
) -> Result<Self> { ... }
}
Expand description
Trait for initializing algorithms
Required Associated Types§
type ProofWriter: Write
Required Methods§
Sourcefn new_cert<Cls>(
clauses: Cls,
objs: Vec<Objective>,
var_manager: VarManager,
opts: KernelOptions,
proof: Proof<Self::ProofWriter>,
block_clause_gen: <Self as Init>::BlockClauseGen,
) -> Result<Self>
fn new_cert<Cls>( clauses: Cls, objs: Vec<Objective>, var_manager: VarManager, opts: KernelOptions, proof: Proof<Self::ProofWriter>, block_clause_gen: <Self as Init>::BlockClauseGen, ) -> Result<Self>
Initialization of the algorithm providing all optional input
Provided Methods§
Sourcefn from_instance_cert(
inst: Instance,
opts: KernelOptions,
proof: Proof<Self::ProofWriter>,
block_clause_gen: <Self as Init>::BlockClauseGen,
) -> Result<Self>
fn from_instance_cert( inst: Instance, opts: KernelOptions, proof: Proof<Self::ProofWriter>, block_clause_gen: <Self as Init>::BlockClauseGen, ) -> Result<Self>
Initialization of the algorithm using an Instance
rather than iterators
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.