fn exert(&mut self, effort: &mut isize) {
        self.cursor_storage.borrow_mut().clear();

        // If there is work to be done, ...
        self.tidy_layers();
        if !self.reduced() {
            // If any merges exist, we can directly call `apply_fuel`.
            if self.merging.iter().any(|b| b.is_double()) {
                self.apply_fuel(effort);
            }
            // Otherwise, we'll need to introduce fake updates to move merges along.
            else {
                // Introduce an empty batch with roughly *effort number of virtual updates.
                let level = (*effort as usize).next_power_of_two().trailing_zeros() as usize;
                self.introduce_batch(None, level);
            }
            // We were not in reduced form, so let's check again in the future.
            if let Some(activator) = &self.activator {
                activator.activate();
            }
        }
    }
/// Apply some amount of effort to trace maintenance.
///
/// The units of effort are updates, and the method should be
/// thought of as analogous to inserting as many empty updates,
/// where the trace is permitted to perform proportionate work.
Apply some amount of effort to trace maintenance.
The units of effort are updates, and the method should be
thought of as analogous to inserting as many empty updates,
where the trace is permitted to perform proportionate work.
Apply some amount of effort to trace maintenance . The units of effort are updates and the method should be thought of as analogous to inserting as many empty updates where the trace is permitted to perform proportionate work .
fn exert(&mut self, effort: &mut isize) {
        self.cursor_storage.borrow_mut().clear();
        // If there is work to be done, ...
        self.tidy_layers();
        if !self.reduced() {
            // If any merges exist, we can directly call `apply_fuel`.
            if self.merging.iter().any(|b| b.is_double()) {
                self.apply_fuel(effort);
            }
            // Otherwise, we'll need to introduce fake updates to move merges along.
            else {
                // Introduce an empty batch with roughly *effort number of virtual updates.
                let level = (*effort as usize).next_power_of_two().trailing_zeros() as usize;
                self.introduce_batch(None, level);
            }
            // We were not in reduced form, so let's check again in the future.
            if let Some(activator) = &self.activator {
                activator.activate();
            }
        }
    }
fn exert ( & mut self , effort : & mut isize ) { self . cursor_storage . borrow_mut ( ) . clear ( ) ; // If there is work to be done, ... self . tidy_layers ( ) ; if ! self . reduced ( ) { // If any merges exist, we can directly call `apply_fuel`. if self . merging . iter ( ) . any ( | b | b . is_double ( ) ) { self . apply_fuel ( effort ) ; } // Otherwise, we'll need to introduce fake updates to move merges along. else { // Introduce an empty batch with roughly *effort number of virtual updates. let level = ( * effort as usize ) . next_power_of_two ( ) . trailing_zeros ( ) as usize ; self . introduce_batch ( None , level ) ; } // We were not in reduced form, so let's check again in the future. if let Some ( activator ) = & self . activator { activator . activate ( ) ; } } }
Apply some amount of effort to trace maintenance.
Apply some amount of effort to trace maintenance .
&mut self
effort
&mut isize