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