1 module java.util.TreeSet; 2 3 import java.lang.all; 4 import java.util.SortedSet; 5 import java.util.AbstractSet; 6 import java.util.Collection; 7 import java.util.Iterator; 8 import java.util.Comparator; 9 10 version(Tango){ 11 static import tango.util.container.SortedMap; 12 } else { // Phobos 13 } 14 15 class TreeSet : AbstractSet, SortedSet { 16 17 version(Tango){ 18 alias tango.util.container.SortedMap.SortedMap!(Object,int) SetType; 19 private SetType set; 20 } else { // Phobos 21 } 22 23 public this(){ 24 version(Tango){ 25 set = new SetType(); 26 } else { // Phobos 27 implMissingInPhobos(); 28 } 29 } 30 public this(Collection c){ 31 implMissing( __FILE__, __LINE__ ); 32 } 33 public this(Comparator c){ 34 implMissing( __FILE__, __LINE__ ); 35 } 36 public this(SortedSet){ 37 implMissing( __FILE__, __LINE__ ); 38 } 39 40 override 41 public bool add(Object o){ 42 version(Tango){ 43 return set.add(o, 0); 44 } else { // Phobos 45 implMissingInPhobos(); 46 return false; 47 } 48 } 49 override 50 public bool add(String o){ 51 version(Tango){ 52 return add(stringcast(o)); 53 } else { // Phobos 54 implMissingInPhobos(); 55 return false; 56 } 57 } 58 override 59 public bool addAll(Collection c){ 60 version(Tango){ 61 foreach( o; c ){ 62 add(o); 63 } 64 return true; 65 } else { // Phobos 66 implMissingInPhobos(); 67 return false; 68 } 69 } 70 override 71 public void clear(){ 72 version(Tango){ 73 set.clear(); 74 } else { // Phobos 75 implMissingInPhobos(); 76 } 77 } 78 override 79 public bool contains(Object o){ 80 version(Tango){ 81 return set.containsKey(o); 82 } else { // Phobos 83 implMissingInPhobos(); 84 return false; 85 } 86 } 87 override 88 public bool contains(String o){ 89 version(Tango){ 90 return contains(stringcast(o)); 91 } else { // Phobos 92 implMissingInPhobos(); 93 return false; 94 } 95 } 96 override 97 public bool containsAll(Collection c){ 98 version(Tango){ 99 foreach( o; c ){ 100 if( !contains(o) ){ 101 return false; 102 } 103 } 104 return true; 105 } else { // Phobos 106 implMissingInPhobos(); 107 return false; 108 } 109 } 110 public Comparator comparator(){ 111 implMissing( __FILE__, __LINE__ ); 112 return null; 113 } 114 public override equals_t opEquals(Object o){ 115 implMissing( __FILE__, __LINE__ ); 116 return 0; 117 } 118 public Object first(){ 119 implMissing( __FILE__, __LINE__ ); 120 return null; 121 } 122 public override hash_t toHash(){ 123 implMissingSafe( __FILE__, __LINE__ ); 124 return 0; 125 } 126 public SortedSet headSet(Object toElement){ 127 implMissing( __FILE__, __LINE__ ); 128 return null; 129 } 130 override 131 public bool isEmpty(){ 132 version(Tango){ 133 return set.isEmpty(); 134 } else { // Phobos 135 implMissingInPhobos(); 136 return false; 137 } 138 } 139 override 140 public Iterator iterator(){ 141 implMissing( __FILE__, __LINE__ ); 142 return null; 143 } 144 public Object last(){ 145 implMissing( __FILE__, __LINE__ ); 146 return null; 147 } 148 override 149 public bool remove(Object o){ 150 implMissing( __FILE__, __LINE__ ); 151 return false; 152 } 153 override 154 public bool remove(String key){ 155 version(Tango){ 156 return remove(stringcast(key)); 157 } else { // Phobos 158 implMissingInPhobos(); 159 return false; 160 } 161 } 162 override 163 public bool removeAll(Collection c){ 164 implMissing( __FILE__, __LINE__ ); 165 return false; 166 } 167 override 168 public bool retainAll(Collection c){ 169 implMissing( __FILE__, __LINE__ ); 170 return false; 171 } 172 override 173 public int size(){ 174 version(Tango){ 175 return set.size(); 176 } else { // Phobos 177 implMissingInPhobos(); 178 return 0; 179 } 180 } 181 public SortedSet subSet(Object fromElement, Object toElement){ 182 implMissing( __FILE__, __LINE__ ); 183 return null; 184 } 185 public SortedSet tailSet(Object fromElement){ 186 implMissing( __FILE__, __LINE__ ); 187 return null; 188 } 189 override 190 public Object[] toArray(){ 191 implMissing( __FILE__, __LINE__ ); 192 return null; 193 } 194 override 195 public Object[] toArray(Object[] a){ 196 implMissing( __FILE__, __LINE__ ); 197 return null; 198 } 199 public override String toString(){ 200 implMissing( __FILE__, __LINE__ ); 201 return null; 202 } 203 204 205 // only for D 206 override 207 public int opApply (int delegate(ref Object value) dg){ 208 version(Tango){ 209 int localDg( ref Object key, ref int value ){ 210 return dg( key ); 211 } 212 return set.opApply(&localDg); 213 } else { // Phobos 214 implMissingInPhobos(); 215 return 0; 216 } 217 } 218 } 219