Skip to content

Commit 38c37eb

Browse files
committed
Update docs for new Range parameter to BTreeMap::extract_if etc.
1 parent 1ae96fc commit 38c37eb

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

library/alloc/src/collections/btree/map.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1397,7 +1397,7 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
13971397
}
13981398
}
13991399

1400-
/// Creates an iterator that visits all elements (key-value pairs) in
1400+
/// Creates an iterator that visits elements (key-value pairs) in the specified range in
14011401
/// ascending key order and uses a closure to determine if an element
14021402
/// should be removed.
14031403
///
@@ -1423,10 +1423,16 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
14231423
/// use std::collections::BTreeMap;
14241424
///
14251425
/// let mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();
1426-
/// let evens: BTreeMap<_, _> = map.extract_if(|k, _v| k % 2 == 0).collect();
1426+
/// let evens: BTreeMap<_, _> = map.extract_if(.., |k, _v| k % 2 == 0).collect();
14271427
/// let odds = map;
14281428
/// assert_eq!(evens.keys().copied().collect::<Vec<_>>(), [0, 2, 4, 6]);
14291429
/// assert_eq!(odds.keys().copied().collect::<Vec<_>>(), [1, 3, 5, 7]);
1430+
///
1431+
/// let mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();
1432+
/// let low: BTreeMap<_, _> = map.extract_if(0..4, |_k, _v| true).collect();
1433+
/// let high = map;
1434+
/// assert_eq!(low.keys().copied().collect::<Vec<_>>(), [0, 1, 2, 3]);
1435+
/// assert_eq!(high.keys().copied().collect::<Vec<_>>(), [4, 5, 6, 7]);
14301436
/// ```
14311437
#[unstable(feature = "btree_extract_if", issue = "70530")]
14321438
pub fn extract_if<F, R>(&mut self, range: R, pred: F) -> ExtractIf<'_, K, V, R, F, A>

library/alloc/src/collections/btree/set.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1187,7 +1187,7 @@ impl<T, A: Allocator + Clone> BTreeSet<T, A> {
11871187
BTreeSet { map: self.map.split_off(value) }
11881188
}
11891189

1190-
/// Creates an iterator that visits all elements in ascending order and
1190+
/// Creates an iterator that visits elements in the specified range in ascending order and
11911191
/// uses a closure to determine if an element should be removed.
11921192
///
11931193
/// If the closure returns `true`, the element is removed from the set and
@@ -1208,10 +1208,16 @@ impl<T, A: Allocator + Clone> BTreeSet<T, A> {
12081208
/// use std::collections::BTreeSet;
12091209
///
12101210
/// let mut set: BTreeSet<i32> = (0..8).collect();
1211-
/// let evens: BTreeSet<_> = set.extract_if(|v| v % 2 == 0).collect();
1211+
/// let evens: BTreeSet<_> = set.extract_if(.., |v| v % 2 == 0).collect();
12121212
/// let odds = set;
12131213
/// assert_eq!(evens.into_iter().collect::<Vec<_>>(), vec![0, 2, 4, 6]);
12141214
/// assert_eq!(odds.into_iter().collect::<Vec<_>>(), vec![1, 3, 5, 7]);
1215+
///
1216+
/// let mut map: BTreeSet<i32> = (0..8).collect();
1217+
/// let low: BTreeSet<_> = map.extract_if(0..4, |_v| true).collect();
1218+
/// let high = map;
1219+
/// assert_eq!(low.into_iter().collect::<Vec<_>>(), [0, 1, 2, 3]);
1220+
/// assert_eq!(high.into_iter().collect::<Vec<_>>(), [4, 5, 6, 7]);
12151221
/// ```
12161222
#[unstable(feature = "btree_extract_if", issue = "70530")]
12171223
pub fn extract_if<'a, F, R>(&'a mut self, range: R, pred: F) -> ExtractIf<'a, T, R, F, A>

0 commit comments

Comments
 (0)