pub fn drain<R>(&mut self, range: R) -> Drain<'_, K, V>
    where
        R: RangeBounds<usize>,
    {
        self.0.drain(range)
    }
/// Clears the `IndexMap` in the given index range, returning those
/// key-value pairs as a drain iterator.
///
/// The range may be any type that implements `RangeBounds<usize>`,
/// including all of the `std::ops::Range*` types, or even a tuple pair of
/// `Bound` start and end values. To drain the map entirely, use `RangeFull`
/// like `map.drain(..)`.
///
/// This shifts down all entries following the drained range to fill the
/// gap, and keeps the allocated memory for reuse.
///
/// ***Panics*** if the starting point is greater than the end point or if
/// the end point is greater than the length of the map.
Clears the `IndexMap` in the given index range, returning those
key-value pairs as a drain iterator.



This shifts down all entries following the drained range to fill the
gap, and keeps the allocated memory for reuse.

Panics*** if the starting point is greater than the end point or if
the end point is greater than the length of the map.
Clears the ` IndexMap ` in the given index range returning those key - value pairs as a drain iterator . This shifts down all entries following the drained range to fill the gap and keeps the allocated memory for reuse . Panics *** if the starting point is greater than the end point or if the end point is greater than the length of the map .
pub fn drain<R>(&mut self, range: R) -> Drain<'_, K, V>
    where
        R: RangeBounds<usize>,
    {
        self.0.drain(range)
    }
pub fn drain < R > ( & mut self , range : R ) -> Drain < ' _ , K , V > where R : RangeBounds < usize > , { self . 0 . drain ( range ) }
Clears the `IndexMap` in the given index range, returning those
key-value pairs as a drain iterator.
Clears the ` IndexMap ` in the given index range returning those key - value pairs as a drain iterator .
&mut self
range
R
&mut self
range
R