Split and renamed core library files to reflect single types which could later be...
[cslatevm.git] / src / lib / set-sorted.slate
blob5ae4a448853b0371e930b3cf5eb8c26a45ba2b84
1 define: #SortedSet &parents: {SortedArray. NoDuplicatesCollection}.
3 s@(SortedSet traits) new
4 [#new sendTo: {s} through: {SortedArray}].
6 s@(Set traits) sort
7 [(SortedSet newSizeOf: s) `>> [addAll: s. ]].
9 s@(Set traits) sortBy: block
10 [(SortedSet newSizeOf: s) `>> [sortBlock := block. addAll: s. ]].
12 sc@(SortedSet traits) add: obj
14   (sc includes: obj)
15     ifFalse: [sc at: (sc indexForInserting: obj) insert: obj].
16   obj