pub fn reuse(mut self, index: usize) -> Result<Self, Self>
    {
        if index > self.vertices.len() || !(self.filter_fn)(self.vertices[index].contained(), index) {
            return Err(self);
        }
        for i in 0..self.handled.len() {
            self.handled[i] = false;
        }
        self.queue0.clear();
        self.queue1.clear();
        self.depth = 0;

        
        self.queue0.push_back(index);
        self.handled[index] = true;
        Ok(self)
    }
/// Efficiently reuse the iterator, now possibly starting at a new index
/// * returns Err(self) without changing self, if index out of Bounds 
/// or filter (filter_fn) of (vertex_at_index, index) is false
/// * otherwise: prepares iterator to be used again and returns Ok(self)
Efficiently reuse the iterator, now possibly starting at a new index
returns Err(self) without changing self, if index out of Bounds
or filter (filter_fn) of (vertex_at_index, index) is false
otherwise: prepares iterator to be used again and returns Ok(self)
Efficiently reuse the iterator now possibly starting at a new index returns Err ( self ) without changing self if index out of Bounds or filter ( filter_fn ) of ( vertex_at_index index ) is false otherwise : prepares iterator to be used again and returns Ok ( self )
pub fn reuse(mut self, index: usize) -> Result<Self, Self>
    {
        if index > self.vertices.len() || !(self.filter_fn)(self.vertices[index].contained(), index) {
            return Err(self);
        }
        for i in 0..self.handled.len() {
            self.handled[i] = false;
        }
        self.queue0.clear();
        self.queue1.clear();
        self.depth = 0;
        self.queue0.push_back(index);
        self.handled[index] = true;
        Ok(self)
    }
pub fn reuse ( mut self , index : usize ) -> Result < Self , Self > { if index > self . vertices . len ( ) || ! ( self . filter_fn ) ( self . vertices [ index ] . contained ( ) , index ) { return Err ( self ) ; } for i in 0 .. self . handled . len ( ) { self . handled [ i ] = false ; } self . queue0 . clear ( ) ; self . queue1 . clear ( ) ; self . depth = 0 ; self . queue0 . push_back ( index ) ; self . handled [ index ] = true ; Ok ( self ) }
Efficiently reuse the iterator, now possibly starting at a new index
 returns Err(self) without changing self, if index out of Bounds
or filter (filter_fn) of (vertex_at_index, index) is false
 otherwise: prepares iterator to be used again and returns Ok(self)
Efficiently reuse the iterator now possibly starting at a new index returns Err ( self ) without changing self if index out of Bounds or filter ( filter_fn ) of ( vertex_at_index index ) is false otherwise : prepares iterator to be used again and returns Ok ( self )
mut self
index
usize
mut self
index
usize