diff --git a/src/libcollections/btree/set.rs b/src/libcollections/btree/set.rs index 64ae4f6a508677828aacbdf71b9f83125ca740b0..3973b4774b3ae9bbfcb3fa08bfe40df4387ea2fe 100644 --- a/src/libcollections/btree/set.rs +++ b/src/libcollections/btree/set.rs @@ -94,12 +94,46 @@ pub fn into_iter(self) -> MoveItems { impl BTreeSet { /// Visits the values representing the difference, in ascending order. + /// + /// # Example + /// + /// ``` + /// use std::collections::BTreeSet; + /// + /// let mut a = BTreeSet::new(); + /// a.insert(1u); + /// a.insert(2u); + /// + /// let mut b = BTreeSet::new(); + /// b.insert(2u); + /// b.insert(3u); + /// + /// let diff: Vec = a.difference(&b).cloned().collect(); + /// assert_eq!(diff, vec![1u]); + /// ``` #[unstable = "matches collection reform specification, waiting for dust to settle"] pub fn difference<'a>(&'a self, other: &'a BTreeSet) -> DifferenceItems<'a, T> { DifferenceItems{a: self.iter().peekable(), b: other.iter().peekable()} } /// Visits the values representing the symmetric difference, in ascending order. + /// + /// # Example + /// + /// ``` + /// use std::collections::BTreeSet; + /// + /// let mut a = BTreeSet::new(); + /// a.insert(1u); + /// a.insert(2u); + /// + /// let mut b = BTreeSet::new(); + /// b.insert(2u); + /// b.insert(3u); + /// + /// let sym_diff: Vec = a.symmetric_difference(&b).cloned().collect(); + /// assert_eq!(sym_diff, vec![1u,3]); + /// ``` #[unstable = "matches collection reform specification, waiting for dust to settle"] pub fn symmetric_difference<'a>(&'a self, other: &'a BTreeSet) -> SymDifferenceItems<'a, T> { @@ -107,6 +141,23 @@ pub fn symmetric_difference<'a>(&'a self, other: &'a BTreeSet) } /// Visits the values representing the intersection, in ascending order. + /// + /// # Example + /// + /// ``` + /// use std::collections::BTreeSet; + /// + /// let mut a = BTreeSet::new(); + /// a.insert(1u); + /// a.insert(2u); + /// + /// let mut b = BTreeSet::new(); + /// b.insert(2u); + /// b.insert(3u); + /// + /// let intersection: Vec = a.intersection(&b).cloned().collect(); + /// assert_eq!(intersection, vec![2u]); + /// ``` #[unstable = "matches collection reform specification, waiting for dust to settle"] pub fn intersection<'a>(&'a self, other: &'a BTreeSet) -> IntersectionItems<'a, T> { @@ -114,6 +165,21 @@ pub fn intersection<'a>(&'a self, other: &'a BTreeSet) } /// Visits the values representing the union, in ascending order. + /// + /// # Example + /// + /// ``` + /// use std::collections::BTreeSet; + /// + /// let mut a = BTreeSet::new(); + /// a.insert(1u); + /// + /// let mut b = BTreeSet::new(); + /// b.insert(2u); + /// + /// let union: Vec = a.union(&b).cloned().collect(); + /// assert_eq!(union, vec![1u,2]); + /// ``` #[unstable = "matches collection reform specification, waiting for dust to settle"] pub fn union<'a>(&'a self, other: &'a BTreeSet) -> UnionItems<'a, T> { UnionItems{a: self.iter().peekable(), b: other.iter().peekable()}