pub fn iterate_with_scheduler<F, C, T, S>(&self, constructor: F) -> Result<T, SchedulerError>
    where
        F: FnOnce(&mut Circuit<Self>) -> Result<(C, T), SchedulerError>,
        C: Fn() -> bool + 'static,
        S: Scheduler + 'static,
    {
        self.subcircuit(true, |child| {
            let (termination_check, res) = constructor(child)?;
            let executor = <IterativeExecutor<_, S>>::new(child, termination_check)?;
            Ok((res, executor))
        })
    }
/// Add an iteratively scheduled child circuit.
///
/// Similar to [`iterate`](`Self::iterate`), but with a user-specified
/// [`Scheduler`] implementation.
Add an iteratively scheduled child circuit.
Add an iteratively scheduled child circuit .
pub fn iterate_with_scheduler<F, C, T, S>(&self, constructor: F) -> Result<T, SchedulerError>
    where
        F: FnOnce(&mut Circuit<Self>) -> Result<(C, T), SchedulerError>,
        C: Fn() -> bool + 'static,
        S: Scheduler + 'static,
    {
        self.subcircuit(true, |child| {
            let (termination_check, res) = constructor(child)?;
            let executor = <IterativeExecutor<_, S>>::new(child, termination_check)?;
            Ok((res, executor))
        })
    }
pub fn iterate_with_scheduler < F , C , T , S > ( & self , constructor : F ) -> Result < T , SchedulerError > where F : FnOnce ( & mut Circuit < Self > ) -> Result < ( C , T ) , SchedulerError > , C : Fn ( ) -> bool + ' static , S : Scheduler + ' static , { self . subcircuit ( true , | child | { let ( termination_check , res ) = constructor ( child ) ? ; let executor = < IterativeExecutor < _ , S > > :: new ( child , termination_check ) ? ; Ok ( ( res , executor ) ) } ) }
Add an iteratively scheduled child circuit.
Add an iteratively scheduled child circuit .
&self
constructor
F