diff options
| author | Diggory Blake <diggsey@googlemail.com> | 2018-03-26 23:24:31 +0100 |
|---|---|---|
| committer | Diggory Blake <diggsey@googlemail.com> | 2018-03-27 01:39:11 +0100 |
| commit | 04f6692aaf78809c041ba6145bde2dcbeec9725e (patch) | |
| tree | b02d9698234c023d503e8c7e5303eca5dc5caa1a /src/liballoc/binary_heap.rs | |
| parent | f5631d9ac7745dd6eaea2bc6c236d5f8e54e9a18 (diff) | |
| download | rust-04f6692aaf78809c041ba6145bde2dcbeec9725e.tar.gz rust-04f6692aaf78809c041ba6145bde2dcbeec9725e.zip | |
Implement `shrink_to` method on collections
Diffstat (limited to 'src/liballoc/binary_heap.rs')
| -rw-r--r-- | src/liballoc/binary_heap.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/liballoc/binary_heap.rs b/src/liballoc/binary_heap.rs index 8aaac5d6e08..f6a666b599b 100644 --- a/src/liballoc/binary_heap.rs +++ b/src/liballoc/binary_heap.rs @@ -509,6 +509,31 @@ impl<T: Ord> BinaryHeap<T> { self.data.shrink_to_fit(); } + /// Discards capacity with a lower bound. + /// + /// The capacity will remain at least as large as both the length + /// and the supplied value. + /// + /// Panics if the current capacity is smaller than the supplied + /// minimum capacity. + /// + /// # Examples + /// + /// ``` + /// #![feature(shrink_to)] + /// use std::collections::BinaryHeap; + /// let mut heap: BinaryHeap<i32> = BinaryHeap::with_capacity(100); + /// + /// assert!(heap.capacity() >= 100); + /// heap.shrink_to(10); + /// assert!(heap.capacity() >= 10); + /// ``` + #[inline] + #[unstable(feature = "shrink_to", reason = "new API", issue="0")] + pub fn shrink_to(&mut self, min_capacity: usize) { + self.data.shrink_to(min_capacity) + } + /// Removes the greatest item from the binary heap and returns it, or `None` if it /// is empty. /// |
