MCPcopy Index your code
hub / github.com/clojure/clojure / PersistentTreeSet

Class PersistentTreeSet

src/jvm/clojure/lang/PersistentTreeSet.java:17–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15import java.util.Comparator;
16
17public class PersistentTreeSet extends APersistentSet implements IObj, Reversible, Sorted{
18static public final PersistentTreeSet EMPTY = new PersistentTreeSet(null, PersistentTreeMap.EMPTY);
19final IPersistentMap _meta;
20
21
22static public PersistentTreeSet create(ISeq items){
23 PersistentTreeSet ret = EMPTY;
24 for(; items != null; items = items.next())
25 {
26 ret = (PersistentTreeSet) ret.cons(items.first());
27 }
28 return ret;
29}
30
31static public PersistentTreeSet create(Comparator comp, ISeq items){
32 PersistentTreeSet ret = new PersistentTreeSet(null, new PersistentTreeMap(null, comp));
33 for(; items != null; items = items.next())
34 {
35 ret = (PersistentTreeSet) ret.cons(items.first());
36 }
37 return ret;
38}
39
40PersistentTreeSet(IPersistentMap meta, IPersistentMap impl){
41 super(impl);
42 this._meta = meta;
43}
44
45public boolean equals(Object obj){
46 try {
47 return super.equals(obj);
48 } catch (ClassCastException e) {
49 return false;
50 }
51}
52
53public boolean equiv(Object obj){
54 try {
55 return super.equiv(obj);
56 } catch (ClassCastException e) {
57 return false;
58 }
59}
60
61public IPersistentSet disjoin(Object key) {
62 if(contains(key))
63 return new PersistentTreeSet(meta(),impl.without(key));
64 return this;
65}
66
67public IPersistentSet cons(Object o){
68 if(contains(o))
69 return this;
70 return new PersistentTreeSet(meta(),impl.assoc(o,o));
71}
72
73public IPersistentCollection empty(){
74 return new PersistentTreeSet(meta(),(PersistentTreeMap)impl.empty());

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected