@@ -228,43 +228,7 @@ impl<T: Ord> BTreeSet<T> {
228
228
pub fn new ( ) -> BTreeSet < T > {
229
229
BTreeSet { map : BTreeMap :: new ( ) }
230
230
}
231
- }
232
-
233
- impl < T > BTreeSet < T > {
234
- /// Gets an iterator that visits the values in the `BTreeSet` in ascending order.
235
- ///
236
- /// # Examples
237
- ///
238
- /// ```
239
- /// use std::collections::BTreeSet;
240
- ///
241
- /// let set: BTreeSet<usize> = [1, 2, 3].iter().cloned().collect();
242
- /// let mut set_iter = set.iter();
243
- /// assert_eq!(set_iter.next(), Some(&1));
244
- /// assert_eq!(set_iter.next(), Some(&2));
245
- /// assert_eq!(set_iter.next(), Some(&3));
246
- /// assert_eq!(set_iter.next(), None);
247
- /// ```
248
- ///
249
- /// Values returned by the iterator are returned in ascending order:
250
- ///
251
- /// ```
252
- /// use std::collections::BTreeSet;
253
- ///
254
- /// let set: BTreeSet<usize> = [3, 1, 2].iter().cloned().collect();
255
- /// let mut set_iter = set.iter();
256
- /// assert_eq!(set_iter.next(), Some(&1));
257
- /// assert_eq!(set_iter.next(), Some(&2));
258
- /// assert_eq!(set_iter.next(), Some(&3));
259
- /// assert_eq!(set_iter.next(), None);
260
- /// ```
261
- #[ stable( feature = "rust1" , since = "1.0.0" ) ]
262
- pub fn iter ( & self ) -> Iter < T > {
263
- Iter { iter : self . map . keys ( ) }
264
- }
265
- }
266
231
267
- impl < T : Ord > BTreeSet < T > {
268
232
/// Constructs a double-ended iterator over a sub-range of elements in the set.
269
233
/// The simplest way is to use the range syntax `min..max`, thus `range(min..max)` will
270
234
/// yield elements from min (inclusive) to max (exclusive).
@@ -293,9 +257,7 @@ impl<T: Ord> BTreeSet<T> {
293
257
{
294
258
Range { iter : self . map . range ( range) }
295
259
}
296
- }
297
260
298
- impl < T : Ord > BTreeSet < T > {
299
261
/// Visits the values representing the difference,
300
262
/// i.e. the values that are in `self` but not in `other`,
301
263
/// in ascending order.
@@ -408,40 +370,6 @@ impl<T: Ord> BTreeSet<T> {
408
370
}
409
371
}
410
372
411
- /// Returns the number of elements in the set.
412
- ///
413
- /// # Examples
414
- ///
415
- /// ```
416
- /// use std::collections::BTreeSet;
417
- ///
418
- /// let mut v = BTreeSet::new();
419
- /// assert_eq!(v.len(), 0);
420
- /// v.insert(1);
421
- /// assert_eq!(v.len(), 1);
422
- /// ```
423
- #[ stable( feature = "rust1" , since = "1.0.0" ) ]
424
- pub fn len ( & self ) -> usize {
425
- self . map . len ( )
426
- }
427
-
428
- /// Returns `true` if the set contains no elements.
429
- ///
430
- /// # Examples
431
- ///
432
- /// ```
433
- /// use std::collections::BTreeSet;
434
- ///
435
- /// let mut v = BTreeSet::new();
436
- /// assert!(v.is_empty());
437
- /// v.insert(1);
438
- /// assert!(!v.is_empty());
439
- /// ```
440
- #[ stable( feature = "rust1" , since = "1.0.0" ) ]
441
- pub fn is_empty ( & self ) -> bool {
442
- self . len ( ) == 0
443
- }
444
-
445
373
/// Clears the set, removing all values.
446
374
///
447
375
/// # Examples
@@ -724,6 +652,74 @@ impl<T: Ord> BTreeSet<T> {
724
652
}
725
653
}
726
654
655
+ impl < T > BTreeSet < T > {
656
+ /// Gets an iterator that visits the values in the `BTreeSet` in ascending order.
657
+ ///
658
+ /// # Examples
659
+ ///
660
+ /// ```
661
+ /// use std::collections::BTreeSet;
662
+ ///
663
+ /// let set: BTreeSet<usize> = [1, 2, 3].iter().cloned().collect();
664
+ /// let mut set_iter = set.iter();
665
+ /// assert_eq!(set_iter.next(), Some(&1));
666
+ /// assert_eq!(set_iter.next(), Some(&2));
667
+ /// assert_eq!(set_iter.next(), Some(&3));
668
+ /// assert_eq!(set_iter.next(), None);
669
+ /// ```
670
+ ///
671
+ /// Values returned by the iterator are returned in ascending order:
672
+ ///
673
+ /// ```
674
+ /// use std::collections::BTreeSet;
675
+ ///
676
+ /// let set: BTreeSet<usize> = [3, 1, 2].iter().cloned().collect();
677
+ /// let mut set_iter = set.iter();
678
+ /// assert_eq!(set_iter.next(), Some(&1));
679
+ /// assert_eq!(set_iter.next(), Some(&2));
680
+ /// assert_eq!(set_iter.next(), Some(&3));
681
+ /// assert_eq!(set_iter.next(), None);
682
+ /// ```
683
+ #[ stable( feature = "rust1" , since = "1.0.0" ) ]
684
+ pub fn iter ( & self ) -> Iter < T > {
685
+ Iter { iter : self . map . keys ( ) }
686
+ }
687
+
688
+ /// Returns the number of elements in the set.
689
+ ///
690
+ /// # Examples
691
+ ///
692
+ /// ```
693
+ /// use std::collections::BTreeSet;
694
+ ///
695
+ /// let mut v = BTreeSet::new();
696
+ /// assert_eq!(v.len(), 0);
697
+ /// v.insert(1);
698
+ /// assert_eq!(v.len(), 1);
699
+ /// ```
700
+ #[ stable( feature = "rust1" , since = "1.0.0" ) ]
701
+ pub fn len ( & self ) -> usize {
702
+ self . map . len ( )
703
+ }
704
+
705
+ /// Returns `true` if the set contains no elements.
706
+ ///
707
+ /// # Examples
708
+ ///
709
+ /// ```
710
+ /// use std::collections::BTreeSet;
711
+ ///
712
+ /// let mut v = BTreeSet::new();
713
+ /// assert!(v.is_empty());
714
+ /// v.insert(1);
715
+ /// assert!(!v.is_empty());
716
+ /// ```
717
+ #[ stable( feature = "rust1" , since = "1.0.0" ) ]
718
+ pub fn is_empty ( & self ) -> bool {
719
+ self . len ( ) == 0
720
+ }
721
+ }
722
+
727
723
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
728
724
impl < T : Ord > FromIterator < T > for BTreeSet < T > {
729
725
fn from_iter < I : IntoIterator < Item = T > > ( iter : I ) -> BTreeSet < T > {
0 commit comments