diff options
| author | Daniel Micay <danielmicay@gmail.com> | 2013-01-29 21:58:47 -0500 |
|---|---|---|
| committer | Daniel Micay <danielmicay@gmail.com> | 2013-01-29 22:24:00 -0500 |
| commit | 6b08683e15f2765b03e9c7c3b6cff83b0cfd7b24 (patch) | |
| tree | b98bfb9e99621eee2422fb688f44152d8103833b /src/libstd | |
| parent | 99eb4ddddd68e9ffa86eb8df264934925e27d737 (diff) | |
add intersection and union to the Set trait
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/treemap.rs | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/libstd/treemap.rs b/src/libstd/treemap.rs index 235db263542..1105d65a4ed 100644 --- a/src/libstd/treemap.rs +++ b/src/libstd/treemap.rs @@ -432,22 +432,6 @@ impl <T: Ord> TreeSet<T>: Set<T> { } } } -} - -impl <T: Ord> TreeSet<T> { - /// Create an empty TreeSet - static pure fn new() -> TreeSet<T> { TreeSet{map: TreeMap::new()} } - - /// Visit all values in reverse order - pure fn each_reverse(&self, f: fn(&T) -> bool) { - self.map.each_key_reverse(f) - } - - /// Get a lazy iterator over the values in the set. - /// Requires that it be frozen (immutable). - pure fn iter(&self) -> TreeSetIterator/&self<T> { - TreeSetIterator{iter: self.map.iter()} - } /// Visit the values (in-order) representing the intersection pure fn intersection(&self, other: &TreeSet<T>, f: fn(&T) -> bool) { @@ -516,6 +500,22 @@ impl <T: Ord> TreeSet<T> { } } +impl <T: Ord> TreeSet<T> { + /// Create an empty TreeSet + static pure fn new() -> TreeSet<T> { TreeSet{map: TreeMap::new()} } + + /// Visit all values in reverse order + pure fn each_reverse(&self, f: fn(&T) -> bool) { + self.map.each_key_reverse(f) + } + + /// Get a lazy iterator over the values in the set. + /// Requires that it be frozen (immutable). + pure fn iter(&self) -> TreeSetIterator/&self<T> { + TreeSetIterator{iter: self.map.iter()} + } +} + /// Lazy forward iterator over a set pub struct TreeSetIterator<T> { priv iter: TreeMapIterator<T, ()> |
