/// Removes the first item in the queue and returns it.
/// Will return Err(QeueErr::Empty) if no item is in the queue
Removes the first item in the queue and returns it.
Will return Err(QeueErr::Empty) if no item is in the queue
Removes the first item in the queue and returns it . Will return Err ( QeueErr :: Empty ) if no item is in the queue
pub fn pop(&mut self) -> Result<Ty, QueueErr>
    {
        if self.start == self.end
        {
            return Err(QueueErr::Empty)
        }
        let next_start = (self.start + 1) % SIZE;
        let result =  Ok(self.buff[self.start].take().unwrap());
        self.start = next_start;
        return result;
    }
pub fn pop ( & mut self ) -> Result < Ty , QueueErr > { if self . start == self . end { return Err ( QueueErr :: Empty ) } let next_start = ( self . start + 1 ) % SIZE ; let result = Ok ( self . buff [ self . start ] . take ( ) . unwrap ( ) ) ; self . start = next_start ; return result ; }
Removes the first item in the queue and returns it.
Removes the first item in the queue and returns it .
&mut self