Mercurial > projects > dwt-addons
comparison dwtx/dwtxhelper/Collection.d @ 100:86617aa6b5dd
More helper classes, needed by draw2d
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sun, 03 Aug 2008 00:54:29 +0200 |
parents | |
children | 1082a0fc2bb8 |
comparison
equal
deleted
inserted
replaced
99:cdf77a0793c2 | 100:86617aa6b5dd |
---|---|
1 module dwtx.dwtxhelper.Collection; | |
2 | |
3 import dwt.dwthelper.utils; | |
4 | |
5 static import tango.util.container.CircularList; | |
6 static import tango.util.container.HashMap; | |
7 static import tango.util.container.SortedMap; | |
8 static import tango.util.container.more.Vector; | |
9 | |
10 interface Iterator{ | |
11 public bool hasNext(); | |
12 public Object next(); | |
13 public void remove(); | |
14 } | |
15 | |
16 interface Collection { | |
17 public bool add(Object o); | |
18 public bool addAll(Collection c); | |
19 public void clear(); | |
20 public bool contains(Object o); | |
21 public bool containsAll(Collection c); | |
22 public int opEquals(Object o); | |
23 public hash_t toHash(); | |
24 public bool isEmpty(); | |
25 public Iterator iterator(); | |
26 public bool remove(Object o); | |
27 public bool removeAll(Collection c); | |
28 public bool retainAll(Collection c); | |
29 public int size(); | |
30 public Object[] toArray(); | |
31 public Object[] toArray(Object[] a); | |
32 } | |
33 | |
34 interface Map { | |
35 public void clear(); | |
36 public bool containsKey(Object key); | |
37 public bool containsValue(Object value); | |
38 public Set entrySet(); | |
39 public int opEquals(Object o); | |
40 public Object get(Object key); | |
41 public hash_t toHash(); | |
42 public bool isEmpty(); | |
43 public Set keySet(); | |
44 public Object put(Object key, Object value); | |
45 public void putAll(Map t); | |
46 public Object remove(Object key); | |
47 public int size(); | |
48 public Collection values(); | |
49 | |
50 // only for D | |
51 public int opApply (int delegate(ref Object value) dg); | |
52 public int opApply (int delegate(ref Object key, ref Object value) dg); | |
53 } | |
54 | |
55 interface List : Collection { | |
56 public void add(int index, Object element); | |
57 public bool add(Object o); | |
58 public bool addAll(Collection c); | |
59 public bool addAll(int index, Collection c); | |
60 public void clear(); | |
61 public bool contains(Object o); | |
62 public bool containsAll(Collection c); | |
63 public int opEquals(Object o); | |
64 public Object get(int index); | |
65 public hash_t toHash(); | |
66 public int indexOf(Object o); | |
67 public bool isEmpty(); | |
68 public Iterator iterator(); | |
69 public int lastIndexOf(Object o); | |
70 public ListIterator listIterator(); | |
71 public ListIterator listIterator(int index); | |
72 public Object remove(int index); | |
73 public bool remove(Object o); | |
74 public bool removeAll(Collection c); | |
75 public bool retainAll(Collection c); | |
76 public Object set(int index, Object element); | |
77 public int size(); | |
78 public List subList(int fromIndex, int toIndex); | |
79 public Object[] toArray(); | |
80 public Object[] toArray(Object[] a); | |
81 } | |
82 | |
83 interface Set : Collection { | |
84 public bool add(Object o); | |
85 public bool addAll(Collection c); | |
86 public void clear(); | |
87 public bool contains(Object o); | |
88 public bool containsAll(Collection c); | |
89 public int opEquals(Object o); | |
90 public hash_t toHash(); | |
91 public bool isEmpty(); | |
92 public Iterator iterator(); | |
93 public bool remove(Object o); | |
94 public bool removeAll(Collection c); | |
95 public bool retainAll(Collection c); | |
96 public int size(); | |
97 public Object[] toArray(); | |
98 public Object[] toArray(Object[] a); | |
99 } | |
100 interface ListIterator { | |
101 public void add(Object o); | |
102 public bool hasNext(); | |
103 public bool hasPrevious(); | |
104 public Object next(); | |
105 public int nextIndex(); | |
106 public Object previous(); | |
107 public int previousIndex(); | |
108 public void remove(); | |
109 public void set(Object o); | |
110 } | |
111 class Collections { | |
112 | |
113 public static List EMPTY_LIST; | |
114 | |
115 public static List unmodifiableList( List list ){ | |
116 return null; | |
117 } | |
118 public static void sort(List list){ | |
119 } | |
120 public static void sort(List list, Comparator c){ | |
121 } | |
122 static void reverse(List list) { | |
123 } | |
124 } | |
125 | |
126 class HashMap : Map { | |
127 alias tango.util.container.HashMap.HashMap!(Object,Object) MapType; | |
128 private MapType map; | |
129 | |
130 public this(){ | |
131 map = new MapType(); | |
132 } | |
133 public this(int initialCapacity){ | |
134 implMissing( __FILE__, __LINE__ ); | |
135 } | |
136 public this(int initialCapacity, float loadFactor){ | |
137 implMissing( __FILE__, __LINE__ ); | |
138 } | |
139 public this(Map m){ | |
140 implMissing( __FILE__, __LINE__ ); | |
141 } | |
142 public void clear(){ | |
143 map.clear(); | |
144 } | |
145 public bool containsKey(Object key){ | |
146 Object v; | |
147 return map.get(key, v ); | |
148 } | |
149 public bool containsValue(Object value){ | |
150 return map.contains(value); | |
151 } | |
152 public Set entrySet(){ | |
153 implMissing( __FILE__, __LINE__ ); | |
154 return null; | |
155 } | |
156 public override int opEquals(Object o){ | |
157 if( auto other = cast(HashMap) o ){ | |
158 if( other.size() !is size() ){ | |
159 return false; | |
160 } | |
161 foreach( k, v; map ){ | |
162 Object vo = other.get(k); | |
163 if( v != vo ){ | |
164 return false; | |
165 } | |
166 } | |
167 return true; | |
168 } | |
169 return false; | |
170 } | |
171 public Object get(Object key){ | |
172 implMissing( __FILE__, __LINE__ ); | |
173 return null; | |
174 } | |
175 public override hash_t toHash(){ | |
176 return super.toHash(); | |
177 } | |
178 public bool isEmpty(){ | |
179 return map.isEmpty(); | |
180 } | |
181 public Set keySet(){ | |
182 implMissing( __FILE__, __LINE__ ); | |
183 return null; | |
184 } | |
185 public Object put(Object key, Object value){ | |
186 Object res = null; | |
187 if( auto vold = key in map ){ | |
188 res = *vold; | |
189 } | |
190 map[ key ] = value; | |
191 return res; | |
192 } | |
193 public void putAll(Map t){ | |
194 implMissing( __FILE__, __LINE__ ); | |
195 } | |
196 public Object remove(Object key){ | |
197 implMissing( __FILE__, __LINE__ ); | |
198 return null; | |
199 } | |
200 public int size(){ | |
201 implMissing( __FILE__, __LINE__ ); | |
202 return 0; | |
203 } | |
204 public Collection values(){ | |
205 ArrayList res = new ArrayList( size() ); | |
206 foreach( k, v; map ){ | |
207 res.add( v ); | |
208 } | |
209 return res; | |
210 } | |
211 | |
212 public int opApply (int delegate(ref Object value) dg){ | |
213 return map.opApply( dg ); | |
214 } | |
215 public int opApply (int delegate(ref Object key, ref Object value) dg){ | |
216 return map.opApply( dg ); | |
217 } | |
218 | |
219 } | |
220 | |
221 class TreeMap : Map { | |
222 alias tango.util.container.SortedMap.SortedMap!(Object,Object) MapType; | |
223 private MapType map; | |
224 | |
225 public this(){ | |
226 map = new MapType(); | |
227 } | |
228 public this(Comparator c){ | |
229 implMissing( __FILE__, __LINE__ ); | |
230 } | |
231 public this(Map m){ | |
232 implMissing( __FILE__, __LINE__ ); | |
233 } | |
234 // public this(SortedMap m){ | |
235 // implMissing( __FILE__, __LINE__ ); | |
236 // } | |
237 public void clear(){ | |
238 map.clear(); | |
239 } | |
240 public bool containsKey(Object key){ | |
241 Object v; | |
242 return map.get(key, v ); | |
243 } | |
244 public bool containsValue(Object value){ | |
245 return map.contains(value); | |
246 } | |
247 public Set entrySet(){ | |
248 implMissing( __FILE__, __LINE__ ); | |
249 return null; | |
250 } | |
251 public override int opEquals(Object o){ | |
252 if( auto other = cast(HashMap) o ){ | |
253 if( other.size() !is size() ){ | |
254 return false; | |
255 } | |
256 foreach( k, v; map ){ | |
257 Object vo = other.get(k); | |
258 if( v != vo ){ | |
259 return false; | |
260 } | |
261 } | |
262 return true; | |
263 } | |
264 return false; | |
265 } | |
266 public Object get(Object key){ | |
267 implMissing( __FILE__, __LINE__ ); | |
268 return null; | |
269 } | |
270 public override hash_t toHash(){ | |
271 return super.toHash(); | |
272 } | |
273 public bool isEmpty(){ | |
274 return map.isEmpty(); | |
275 } | |
276 public Set keySet(){ | |
277 implMissing( __FILE__, __LINE__ ); | |
278 return null; | |
279 } | |
280 public Object put(Object key, Object value){ | |
281 Object res = null; | |
282 implMissing( __FILE__, __LINE__ ); | |
283 return res; | |
284 } | |
285 public void putAll(Map t){ | |
286 implMissing( __FILE__, __LINE__ ); | |
287 } | |
288 public Object remove(Object key){ | |
289 implMissing( __FILE__, __LINE__ ); | |
290 return null; | |
291 } | |
292 public int size(){ | |
293 implMissing( __FILE__, __LINE__ ); | |
294 return 0; | |
295 } | |
296 public Collection values(){ | |
297 ArrayList res = new ArrayList( size() ); | |
298 foreach( k, v; map ){ | |
299 res.add( v ); | |
300 } | |
301 return res; | |
302 } | |
303 | |
304 public int opApply (int delegate(ref Object value) dg){ | |
305 return map.opApply( dg ); | |
306 } | |
307 public int opApply (int delegate(ref Object key, ref Object value) dg){ | |
308 return map.opApply( dg ); | |
309 } | |
310 } | |
311 | |
312 class HashSet : Set { | |
313 public this(){} | |
314 public this(Collection c){} | |
315 public this(int initialCapacity){} | |
316 public this(int initialCapacity, float loadFactor){} | |
317 public bool add(Object o){ | |
318 implMissing( __FILE__, __LINE__ ); | |
319 return false; | |
320 } | |
321 public bool addAll(Collection c){ | |
322 implMissing( __FILE__, __LINE__ ); | |
323 return false; | |
324 } | |
325 public void clear(){ | |
326 implMissing( __FILE__, __LINE__ ); | |
327 } | |
328 public bool contains(Object o){ | |
329 implMissing( __FILE__, __LINE__ ); | |
330 return false; | |
331 } | |
332 public bool containsAll(Collection c){ | |
333 implMissing( __FILE__, __LINE__ ); | |
334 return false; | |
335 } | |
336 public override int opEquals(Object o){ | |
337 implMissing( __FILE__, __LINE__ ); | |
338 return 0; | |
339 } | |
340 public override hash_t toHash(){ | |
341 implMissing( __FILE__, __LINE__ ); | |
342 return 0; | |
343 } | |
344 public bool isEmpty(){ | |
345 implMissing( __FILE__, __LINE__ ); | |
346 return false; | |
347 } | |
348 public Iterator iterator(){ | |
349 implMissing( __FILE__, __LINE__ ); | |
350 return null; | |
351 } | |
352 public bool remove(Object o){ | |
353 implMissing( __FILE__, __LINE__ ); | |
354 return false; | |
355 } | |
356 public bool removeAll(Collection c){ | |
357 implMissing( __FILE__, __LINE__ ); | |
358 return false; | |
359 } | |
360 public bool retainAll(Collection c){ | |
361 implMissing( __FILE__, __LINE__ ); | |
362 return false; | |
363 } | |
364 public int size(){ | |
365 implMissing( __FILE__, __LINE__ ); | |
366 return 0; | |
367 } | |
368 public Object[] toArray(){ | |
369 implMissing( __FILE__, __LINE__ ); | |
370 return null; | |
371 } | |
372 public Object[] toArray(Object[] a){ | |
373 implMissing( __FILE__, __LINE__ ); | |
374 return null; | |
375 } | |
376 | |
377 | |
378 } | |
379 | |
380 | |
381 class Vector : List { | |
382 this(){ | |
383 implMissing( __FILE__, __LINE__ ); | |
384 } | |
385 this(Collection c){ | |
386 implMissing( __FILE__, __LINE__ ); | |
387 } | |
388 this(int initialCapacity){ | |
389 implMissing( __FILE__, __LINE__ ); | |
390 } | |
391 this(int initialCapacity, int capacityIncrement){ | |
392 implMissing( __FILE__, __LINE__ ); | |
393 } | |
394 void add(int index, Object element){ | |
395 implMissing( __FILE__, __LINE__ ); | |
396 } | |
397 bool add(Object o){ | |
398 implMissing( __FILE__, __LINE__ ); | |
399 return false; | |
400 } | |
401 bool addAll(Collection c){ | |
402 implMissing( __FILE__, __LINE__ ); | |
403 return false; | |
404 } | |
405 bool addAll(int index, Collection c){ | |
406 implMissing( __FILE__, __LINE__ ); | |
407 return false; | |
408 } | |
409 void addElement(Object obj){ | |
410 implMissing( __FILE__, __LINE__ ); | |
411 } | |
412 int capacity(){ | |
413 implMissing( __FILE__, __LINE__ ); | |
414 return 0; | |
415 } | |
416 void clear(){ | |
417 implMissing( __FILE__, __LINE__ ); | |
418 } | |
419 Object clone(){ | |
420 implMissing( __FILE__, __LINE__ ); | |
421 return null; | |
422 } | |
423 bool contains(Object elem){ | |
424 implMissing( __FILE__, __LINE__ ); | |
425 return false; | |
426 } | |
427 bool containsAll(Collection c){ | |
428 implMissing( __FILE__, __LINE__ ); | |
429 return false; | |
430 } | |
431 void copyInto(Object[] anArray){ | |
432 implMissing( __FILE__, __LINE__ ); | |
433 } | |
434 Object elementAt(int index){ | |
435 implMissing( __FILE__, __LINE__ ); | |
436 return null; | |
437 } | |
438 // Enumeration elements(){ | |
439 // implMissing( __FILE__, __LINE__ ); | |
440 // return null; | |
441 // } | |
442 void ensureCapacity(int minCapacity){ | |
443 implMissing( __FILE__, __LINE__ ); | |
444 } | |
445 int opEquals(Object o){ | |
446 implMissing( __FILE__, __LINE__ ); | |
447 return false; | |
448 } | |
449 Object firstElement(){ | |
450 implMissing( __FILE__, __LINE__ ); | |
451 return null; | |
452 } | |
453 Object get(int index){ | |
454 implMissing( __FILE__, __LINE__ ); | |
455 return null; | |
456 } | |
457 hash_t toHash(){ | |
458 implMissing( __FILE__, __LINE__ ); | |
459 return 0; | |
460 } | |
461 int indexOf(Object elem){ | |
462 implMissing( __FILE__, __LINE__ ); | |
463 return 0; | |
464 } | |
465 int indexOf(Object elem, int index){ | |
466 implMissing( __FILE__, __LINE__ ); | |
467 return 0; | |
468 } | |
469 void insertElementAt(Object obj, int index){ | |
470 implMissing( __FILE__, __LINE__ ); | |
471 } | |
472 bool isEmpty(){ | |
473 implMissing( __FILE__, __LINE__ ); | |
474 return false; | |
475 } | |
476 Iterator iterator(){ | |
477 implMissing( __FILE__, __LINE__ ); | |
478 return null; | |
479 } | |
480 Object lastElement(){ | |
481 implMissing( __FILE__, __LINE__ ); | |
482 return null; | |
483 } | |
484 int lastIndexOf(Object elem){ | |
485 implMissing( __FILE__, __LINE__ ); | |
486 return 0; | |
487 } | |
488 int lastIndexOf(Object elem, int index){ | |
489 implMissing( __FILE__, __LINE__ ); | |
490 return 0; | |
491 } | |
492 ListIterator listIterator(){ | |
493 implMissing( __FILE__, __LINE__ ); | |
494 return null; | |
495 } | |
496 ListIterator listIterator(int index){ | |
497 implMissing( __FILE__, __LINE__ ); | |
498 return null; | |
499 } | |
500 Object remove(int index){ | |
501 implMissing( __FILE__, __LINE__ ); | |
502 return null; | |
503 } | |
504 bool remove(Object o){ | |
505 implMissing( __FILE__, __LINE__ ); | |
506 return false; | |
507 } | |
508 bool removeAll(Collection c){ | |
509 implMissing( __FILE__, __LINE__ ); | |
510 return false; | |
511 } | |
512 void removeAllElements(){ | |
513 implMissing( __FILE__, __LINE__ ); | |
514 } | |
515 bool removeElement(Object obj){ | |
516 implMissing( __FILE__, __LINE__ ); | |
517 return false; | |
518 } | |
519 void removeElementAt(int index){ | |
520 implMissing( __FILE__, __LINE__ ); | |
521 } | |
522 protected void removeRange(int fromIndex, int toIndex){ | |
523 implMissing( __FILE__, __LINE__ ); | |
524 } | |
525 bool retainAll(Collection c){ | |
526 implMissing( __FILE__, __LINE__ ); | |
527 return false; | |
528 } | |
529 Object set(int index, Object element){ | |
530 implMissing( __FILE__, __LINE__ ); | |
531 return null; | |
532 } | |
533 void setElementAt(Object obj, int index){ | |
534 implMissing( __FILE__, __LINE__ ); | |
535 } | |
536 void setSize(int newSize){ | |
537 implMissing( __FILE__, __LINE__ ); | |
538 } | |
539 int size(){ | |
540 implMissing( __FILE__, __LINE__ ); | |
541 return 0; | |
542 } | |
543 List subList(int fromIndex, int toIndex){ | |
544 implMissing( __FILE__, __LINE__ ); | |
545 return null; | |
546 } | |
547 Object[] toArray(){ | |
548 implMissing( __FILE__, __LINE__ ); | |
549 return null; | |
550 } | |
551 Object[] toArray(Object[] a){ | |
552 implMissing( __FILE__, __LINE__ ); | |
553 return null; | |
554 } | |
555 String toString(){ | |
556 implMissing( __FILE__, __LINE__ ); | |
557 return null; | |
558 } | |
559 void trimToSize(){ | |
560 implMissing( __FILE__, __LINE__ ); | |
561 } | |
562 } | |
563 class Stack : Vector { | |
564 this(){ | |
565 } | |
566 void add(int index, Object element){ | |
567 implMissing( __FILE__, __LINE__ ); | |
568 } | |
569 bool add(Object o){ | |
570 implMissing( __FILE__, __LINE__ ); | |
571 return false; | |
572 } | |
573 bool addAll(Collection c){ | |
574 implMissing( __FILE__, __LINE__ ); | |
575 return false; | |
576 } | |
577 bool addAll(int index, Collection c){ | |
578 implMissing( __FILE__, __LINE__ ); | |
579 return false; | |
580 } | |
581 void addElement(Object obj){ | |
582 implMissing( __FILE__, __LINE__ ); | |
583 } | |
584 int capacity(){ | |
585 implMissing( __FILE__, __LINE__ ); | |
586 return 0; | |
587 } | |
588 void clear(){ | |
589 implMissing( __FILE__, __LINE__ ); | |
590 } | |
591 Object clone(){ | |
592 implMissing( __FILE__, __LINE__ ); | |
593 return null; | |
594 } | |
595 bool contains(Object elem){ | |
596 implMissing( __FILE__, __LINE__ ); | |
597 return false; | |
598 } | |
599 bool containsAll(Collection c){ | |
600 implMissing( __FILE__, __LINE__ ); | |
601 return false; | |
602 } | |
603 void copyInto(Object[] anArray){ | |
604 implMissing( __FILE__, __LINE__ ); | |
605 } | |
606 Object elementAt(int index){ | |
607 implMissing( __FILE__, __LINE__ ); | |
608 return null; | |
609 } | |
610 // Enumeration elements(){ | |
611 // implMissing( __FILE__, __LINE__ ); | |
612 // return null; | |
613 // } | |
614 void ensureCapacity(int minCapacity){ | |
615 implMissing( __FILE__, __LINE__ ); | |
616 } | |
617 int opEquals(Object o){ | |
618 implMissing( __FILE__, __LINE__ ); | |
619 return false; | |
620 } | |
621 Object firstElement(){ | |
622 implMissing( __FILE__, __LINE__ ); | |
623 return null; | |
624 } | |
625 Object get(int index){ | |
626 implMissing( __FILE__, __LINE__ ); | |
627 return null; | |
628 } | |
629 hash_t toHash(){ | |
630 implMissing( __FILE__, __LINE__ ); | |
631 return 0; | |
632 } | |
633 int indexOf(Object elem){ | |
634 implMissing( __FILE__, __LINE__ ); | |
635 return 0; | |
636 } | |
637 int indexOf(Object elem, int index){ | |
638 implMissing( __FILE__, __LINE__ ); | |
639 return 0; | |
640 } | |
641 void insertElementAt(Object obj, int index){ | |
642 implMissing( __FILE__, __LINE__ ); | |
643 } | |
644 bool isEmpty(){ | |
645 implMissing( __FILE__, __LINE__ ); | |
646 return false; | |
647 } | |
648 Iterator iterator(){ | |
649 implMissing( __FILE__, __LINE__ ); | |
650 return null; | |
651 } | |
652 Object lastElement(){ | |
653 implMissing( __FILE__, __LINE__ ); | |
654 return null; | |
655 } | |
656 int lastIndexOf(Object elem){ | |
657 implMissing( __FILE__, __LINE__ ); | |
658 return 0; | |
659 } | |
660 int lastIndexOf(Object elem, int index){ | |
661 implMissing( __FILE__, __LINE__ ); | |
662 return 0; | |
663 } | |
664 ListIterator listIterator(){ | |
665 implMissing( __FILE__, __LINE__ ); | |
666 return null; | |
667 } | |
668 ListIterator listIterator(int index){ | |
669 implMissing( __FILE__, __LINE__ ); | |
670 return null; | |
671 } | |
672 Object remove(int index){ | |
673 implMissing( __FILE__, __LINE__ ); | |
674 return null; | |
675 } | |
676 bool remove(Object o){ | |
677 implMissing( __FILE__, __LINE__ ); | |
678 return false; | |
679 } | |
680 bool removeAll(Collection c){ | |
681 implMissing( __FILE__, __LINE__ ); | |
682 return false; | |
683 } | |
684 void removeAllElements(){ | |
685 implMissing( __FILE__, __LINE__ ); | |
686 } | |
687 bool removeElement(Object obj){ | |
688 implMissing( __FILE__, __LINE__ ); | |
689 return false; | |
690 } | |
691 void removeElementAt(int index){ | |
692 implMissing( __FILE__, __LINE__ ); | |
693 } | |
694 protected void removeRange(int fromIndex, int toIndex){ | |
695 implMissing( __FILE__, __LINE__ ); | |
696 } | |
697 bool retainAll(Collection c){ | |
698 implMissing( __FILE__, __LINE__ ); | |
699 return false; | |
700 } | |
701 Object set(int index, Object element){ | |
702 implMissing( __FILE__, __LINE__ ); | |
703 return null; | |
704 } | |
705 void setElementAt(Object obj, int index){ | |
706 implMissing( __FILE__, __LINE__ ); | |
707 } | |
708 void setSize(int newSize){ | |
709 implMissing( __FILE__, __LINE__ ); | |
710 } | |
711 int size(){ | |
712 implMissing( __FILE__, __LINE__ ); | |
713 return 0; | |
714 } | |
715 List subList(int fromIndex, int toIndex){ | |
716 implMissing( __FILE__, __LINE__ ); | |
717 return null; | |
718 } | |
719 Object[] toArray(){ | |
720 implMissing( __FILE__, __LINE__ ); | |
721 return null; | |
722 } | |
723 Object[] toArray(Object[] a){ | |
724 implMissing( __FILE__, __LINE__ ); | |
725 return null; | |
726 } | |
727 | |
728 // from Stack | |
729 String toString(){ | |
730 implMissing( __FILE__, __LINE__ ); | |
731 return null; | |
732 } | |
733 void trimToSize(){ | |
734 implMissing( __FILE__, __LINE__ ); | |
735 } | |
736 bool empty(){ | |
737 implMissing( __FILE__, __LINE__ ); | |
738 return false; | |
739 } | |
740 Object peek(){ | |
741 implMissing( __FILE__, __LINE__ ); | |
742 return null; | |
743 } | |
744 Object pop(){ | |
745 implMissing( __FILE__, __LINE__ ); | |
746 return null; | |
747 } | |
748 Object push(Object item){ | |
749 implMissing( __FILE__, __LINE__ ); | |
750 return null; | |
751 } | |
752 int search(Object o){ | |
753 implMissing( __FILE__, __LINE__ ); | |
754 return 0; | |
755 } | |
756 } | |
757 | |
758 class LinkedList : List { | |
759 void add(int index, Object element){ | |
760 implMissing( __FILE__, __LINE__ ); | |
761 } | |
762 bool add(Object o){ | |
763 implMissing( __FILE__, __LINE__ ); | |
764 return false; | |
765 } | |
766 bool addAll(Collection c){ | |
767 implMissing( __FILE__, __LINE__ ); | |
768 return false; | |
769 } | |
770 bool addAll(int index, Collection c){ | |
771 implMissing( __FILE__, __LINE__ ); | |
772 return false; | |
773 } | |
774 void addElement(Object obj){ | |
775 implMissing( __FILE__, __LINE__ ); | |
776 } | |
777 int capacity(){ | |
778 implMissing( __FILE__, __LINE__ ); | |
779 return 0; | |
780 } | |
781 void clear(){ | |
782 implMissing( __FILE__, __LINE__ ); | |
783 } | |
784 Object clone(){ | |
785 implMissing( __FILE__, __LINE__ ); | |
786 return null; | |
787 } | |
788 bool contains(Object elem){ | |
789 implMissing( __FILE__, __LINE__ ); | |
790 return false; | |
791 } | |
792 bool containsAll(Collection c){ | |
793 implMissing( __FILE__, __LINE__ ); | |
794 return false; | |
795 } | |
796 void copyInto(Object[] anArray){ | |
797 implMissing( __FILE__, __LINE__ ); | |
798 } | |
799 Object elementAt(int index){ | |
800 implMissing( __FILE__, __LINE__ ); | |
801 return null; | |
802 } | |
803 // Enumeration elements(){ | |
804 // implMissing( __FILE__, __LINE__ ); | |
805 // return null; | |
806 // } | |
807 void ensureCapacity(int minCapacity){ | |
808 implMissing( __FILE__, __LINE__ ); | |
809 } | |
810 int opEquals(Object o){ | |
811 implMissing( __FILE__, __LINE__ ); | |
812 return false; | |
813 } | |
814 Object firstElement(){ | |
815 implMissing( __FILE__, __LINE__ ); | |
816 return null; | |
817 } | |
818 Object get(int index){ | |
819 implMissing( __FILE__, __LINE__ ); | |
820 return null; | |
821 } | |
822 hash_t toHash(){ | |
823 implMissing( __FILE__, __LINE__ ); | |
824 return 0; | |
825 } | |
826 int indexOf(Object elem){ | |
827 implMissing( __FILE__, __LINE__ ); | |
828 return 0; | |
829 } | |
830 int indexOf(Object elem, int index){ | |
831 implMissing( __FILE__, __LINE__ ); | |
832 return 0; | |
833 } | |
834 void insertElementAt(Object obj, int index){ | |
835 implMissing( __FILE__, __LINE__ ); | |
836 } | |
837 bool isEmpty(){ | |
838 implMissing( __FILE__, __LINE__ ); | |
839 return false; | |
840 } | |
841 Iterator iterator(){ | |
842 implMissing( __FILE__, __LINE__ ); | |
843 return null; | |
844 } | |
845 Object lastElement(){ | |
846 implMissing( __FILE__, __LINE__ ); | |
847 return null; | |
848 } | |
849 int lastIndexOf(Object elem){ | |
850 implMissing( __FILE__, __LINE__ ); | |
851 return 0; | |
852 } | |
853 int lastIndexOf(Object elem, int index){ | |
854 implMissing( __FILE__, __LINE__ ); | |
855 return 0; | |
856 } | |
857 ListIterator listIterator(){ | |
858 implMissing( __FILE__, __LINE__ ); | |
859 return null; | |
860 } | |
861 ListIterator listIterator(int index){ | |
862 implMissing( __FILE__, __LINE__ ); | |
863 return null; | |
864 } | |
865 Object remove(int index){ | |
866 implMissing( __FILE__, __LINE__ ); | |
867 return null; | |
868 } | |
869 bool remove(Object o){ | |
870 implMissing( __FILE__, __LINE__ ); | |
871 return false; | |
872 } | |
873 bool removeAll(Collection c){ | |
874 implMissing( __FILE__, __LINE__ ); | |
875 return false; | |
876 } | |
877 void removeAllElements(){ | |
878 implMissing( __FILE__, __LINE__ ); | |
879 } | |
880 bool removeElement(Object obj){ | |
881 implMissing( __FILE__, __LINE__ ); | |
882 return false; | |
883 } | |
884 void removeElementAt(int index){ | |
885 implMissing( __FILE__, __LINE__ ); | |
886 } | |
887 protected void removeRange(int fromIndex, int toIndex){ | |
888 implMissing( __FILE__, __LINE__ ); | |
889 } | |
890 bool retainAll(Collection c){ | |
891 implMissing( __FILE__, __LINE__ ); | |
892 return false; | |
893 } | |
894 Object set(int index, Object element){ | |
895 implMissing( __FILE__, __LINE__ ); | |
896 return null; | |
897 } | |
898 void setElementAt(Object obj, int index){ | |
899 implMissing( __FILE__, __LINE__ ); | |
900 } | |
901 void setSize(int newSize){ | |
902 implMissing( __FILE__, __LINE__ ); | |
903 } | |
904 int size(){ | |
905 implMissing( __FILE__, __LINE__ ); | |
906 return 0; | |
907 } | |
908 List subList(int fromIndex, int toIndex){ | |
909 implMissing( __FILE__, __LINE__ ); | |
910 return null; | |
911 } | |
912 Object[] toArray(){ | |
913 implMissing( __FILE__, __LINE__ ); | |
914 return null; | |
915 } | |
916 Object[] toArray(Object[] a){ | |
917 implMissing( __FILE__, __LINE__ ); | |
918 return null; | |
919 } | |
920 String toString(){ | |
921 implMissing( __FILE__, __LINE__ ); | |
922 return null; | |
923 } | |
924 void trimToSize(){ | |
925 implMissing( __FILE__, __LINE__ ); | |
926 } | |
927 } | |
928 | |
929 class ArrayList : List { | |
930 private Object[] data; | |
931 | |
932 this(){ | |
933 } | |
934 this(int size){ | |
935 data.length = size; | |
936 data.length = 0; | |
937 } | |
938 this(Collection){ | |
939 implMissing( __FILE__, __LINE__ ); | |
940 } | |
941 void add(int index, Object element){ | |
942 implMissing( __FILE__, __LINE__ ); | |
943 } | |
944 bool add(Object o){ | |
945 | |
946 implMissing( __FILE__, __LINE__ ); | |
947 return false; | |
948 } | |
949 bool addAll(Collection c){ | |
950 implMissing( __FILE__, __LINE__ ); | |
951 return false; | |
952 } | |
953 bool addAll(int index, Collection c){ | |
954 implMissing( __FILE__, __LINE__ ); | |
955 return false; | |
956 } | |
957 void clear(){ | |
958 implMissing( __FILE__, __LINE__ ); | |
959 } | |
960 bool contains(Object o){ | |
961 implMissing( __FILE__, __LINE__ ); | |
962 return false; | |
963 } | |
964 bool containsAll(Collection c){ | |
965 implMissing( __FILE__, __LINE__ ); | |
966 return false; | |
967 } | |
968 int opEquals(Object o){ | |
969 if( auto other = cast(ArrayList)o ){ | |
970 if( data.length !is other.data.length ){ | |
971 return false; | |
972 } | |
973 for( int i = 0; i < data.length; i++ ){ | |
974 if( data[i] is other.data[i] ){ | |
975 continue; | |
976 } | |
977 if(( data[i] is null ) || ( other.data[i] is null )){ | |
978 return false; | |
979 } | |
980 if( data[i] == other.data[i] ){ | |
981 continue; | |
982 } | |
983 return false; | |
984 } | |
985 return true; | |
986 } | |
987 return false; | |
988 } | |
989 Object get(int index){ | |
990 return data[index]; | |
991 } | |
992 public override hash_t toHash(){ | |
993 return super.toHash(); | |
994 } | |
995 int indexOf(Object o){ | |
996 foreach( i, v; data ){ | |
997 if( data[i] is o ){ | |
998 return i; | |
999 } | |
1000 if(( data[i] is null ) || ( o is null )){ | |
1001 continue; | |
1002 } | |
1003 if( data[i] == o ){ | |
1004 return i; | |
1005 } | |
1006 } | |
1007 return -1; | |
1008 } | |
1009 bool isEmpty(){ | |
1010 return data.length is 0; | |
1011 } | |
1012 Iterator iterator(){ | |
1013 implMissing( __FILE__, __LINE__ ); | |
1014 return null; | |
1015 } | |
1016 int lastIndexOf(Object o){ | |
1017 foreach_reverse( i, v; data ){ | |
1018 if( data[i] is o ){ | |
1019 return i; | |
1020 } | |
1021 if(( data[i] is null ) || ( o is null )){ | |
1022 continue; | |
1023 } | |
1024 if( data[i] == o ){ | |
1025 return i; | |
1026 } | |
1027 } | |
1028 return -1; | |
1029 } | |
1030 ListIterator listIterator(){ | |
1031 implMissing( __FILE__, __LINE__ ); | |
1032 return null; | |
1033 } | |
1034 ListIterator listIterator(int index){ | |
1035 implMissing( __FILE__, __LINE__ ); | |
1036 return null; | |
1037 } | |
1038 Object remove(int index){ | |
1039 Object res = data[index]; | |
1040 data[ index .. $-1] = data[ index+1 .. $ ]; | |
1041 data.length = data.length -1; | |
1042 return res; | |
1043 } | |
1044 bool remove(Object o){ | |
1045 implMissing( __FILE__, __LINE__ ); | |
1046 return false; | |
1047 } | |
1048 bool removeAll(Collection c){ | |
1049 implMissing( __FILE__, __LINE__ ); | |
1050 return false; | |
1051 } | |
1052 bool retainAll(Collection c){ | |
1053 implMissing( __FILE__, __LINE__ ); | |
1054 return false; | |
1055 } | |
1056 Object set(int index, Object element){ | |
1057 implMissing( __FILE__, __LINE__ ); | |
1058 return null; | |
1059 } | |
1060 int size(){ | |
1061 implMissing( __FILE__, __LINE__ ); | |
1062 return 0; | |
1063 } | |
1064 List subList(int fromIndex, int toIndex){ | |
1065 implMissing( __FILE__, __LINE__ ); | |
1066 return null; | |
1067 } | |
1068 Object[] toArray(){ | |
1069 implMissing( __FILE__, __LINE__ ); | |
1070 return null; | |
1071 } | |
1072 Object[] toArray(Object[] a){ | |
1073 implMissing( __FILE__, __LINE__ ); | |
1074 return null; | |
1075 } | |
1076 } | |
1077 | |
1078 |