pub(crate) fn pop_and_destroy(&mut self) -> Result<(), BvError> {
        if let Some(circle) = self.pop_first() {
            if let Some(circle_id) = circle.0.get().index_ {
                let _ = self.c_list_.remove(&circle_id.0);
                self.inactive_circle_ids_.set_grow(circle_id.0, true);
            } else {
                return Err(BvError::InternalError(format!(
                    "circle event lists corruption, circle event id {:?} not found {}:{}",
                    circle.0.get().index_,
                    file!(),
                    line!()
                )));
            }
        }
        // todo: remove this when stable
        if self.c_list_.len() != self.c_.len() {
            return Err(BvError::InternalError(format!(
                "The two circle event lists should always be of the same size. {}:{}",
                file!(),
                line!()
            )));
        }
        Ok(())
    }
///
/// was named pop in C++, but it was never used to actually get the item, only to destroy it
///
was named pop in C++, but it was never used to actually get the item, only to destroy it
was named pop in C ++ but it was never used to actually get the item only to destroy it
pub(crate) fn pop_and_destroy(&mut self) -> Result<(), BvError> {
        if let Some(circle) = self.pop_first() {
            if let Some(circle_id) = circle.0.get().index_ {
                let _ = self.c_list_.remove(&circle_id.0);
                self.inactive_circle_ids_.set_grow(circle_id.0, true);
            } else {
                return Err(BvError::InternalError(format!(
                    "circle event lists corruption, circle event id {:?} not found {}:{}",
                    circle.0.get().index_,
                    file!(),
                    line!()
                )));
            }
        }
        // todo: remove this when stable
        if self.c_list_.len() != self.c_.len() {
            return Err(BvError::InternalError(format!(
                "The two circle event lists should always be of the same size. {}:{}",
                file!(),
                line!()
            )));
        }
        Ok(())
    }
pub ( crate ) fn pop_and_destroy ( & mut self ) -> Result < ( ) , BvError > { if let Some ( circle ) = self . pop_first ( ) { if let Some ( circle_id ) = circle . 0 . get ( ) . index_ { let _ = self . c_list_ . remove ( & circle_id . 0 ) ; self . inactive_circle_ids_ . set_grow ( circle_id . 0 , true ) ; } else { return Err ( BvError :: InternalError ( format ! ( " " circle 0 get ( ) index_ file ( ) line ( ) ) ) ) ; } } // todo: remove this when stable if self . c_list_ . len ( ) != self . c_ . len ( ) { return Err ( BvError :: InternalError ( format ! ( " " file ( ) line ( ) ) ) ) ; } Ok ( ( ) ) }
was named pop in C++, but it was never used to actually get the item, only to destroy it
was named pop in C ++ but it was never used to actually get the item only to destroy it
&mut self