pub fn drain(&mut self) -> Drain<T> {
        Drain {
            inner: self.items.drain(..).enumerate(),
        }
    }
/// Iterate over elements of the arena and remove them.
///
/// Yields pairs of `(Index, T)` items.
///
/// Order of iteration is not defined.
///
/// Note: All elements are removed even if the iterator is only partially consumed or not consumed at all.
///
/// # Examples
///
/// ```ignore
/// use rapier::data::arena::Arena;
///
/// let mut arena = Arena::new();
/// let idx_1 = arena.insert("hello");
/// let idx_2 = arena.insert("world");
///
/// assert!(arena.get(idx_1).is_some());
/// assert!(arena.get(idx_2).is_some());
/// for (idx, value) in arena.drain() {
///     assert!((idx == idx_1 && value == "hello") || (idx == idx_2 && value == "world"));
/// }
/// assert!(arena.get(idx_1).is_none());
/// assert!(arena.get(idx_2).is_none());
/// ```
Iterate over elements of the arena and remove them.
Yields pairs of `(Index, T)` items.

Order of iteration is not defined.

All elements are removed even if the iterator is only partially consumed or not consumed at all.
Iterate over elements of the arena and remove them . Yields pairs of ` ( Index T ) ` items . Order of iteration is not defined . All elements are removed even if the iterator is only partially consumed or not consumed at all .
pub fn drain(&mut self) -> Drain<T> {
        Drain {
            inner: self.items.drain(..).enumerate(),
        }
    }
pub fn drain ( & mut self ) -> Drain < T > { Drain { inner : self . items . drain ( .. ) . enumerate ( ) , } }
Iterate over elements of the arena and remove them.
Iterate over elements of the arena and remove them .
&mut self
examples
```ignore
use rapier::data::arena::Arena.

let mut arena = Arena::new();
let idx_1 = arena.insert("hello");
let idx_2 = arena.insert("world").


` ` ` ignore use rapier :: data :: arena :: Arena . let mut arena = Arena :: new () ; let idx_1 = arena . insert ( " hello " ) ; let idx_2 = arena . insert ( " world " ) .