comparison dwtx/dwtxhelper/Collection.d @ 174:c6d7b1ea700b

First sample running
author Frank Benoit <benoit@tionex.de>
date Thu, 11 Sep 2008 00:32:24 +0200
parents d994a8b2cdf7
children 21c77bcb7887
comparison
equal deleted inserted replaced
173:8995e830f75e 174:c6d7b1ea700b
1919 } 1919 }
1920 this(int size){ 1920 this(int size){
1921 data.length = size; 1921 data.length = size;
1922 data.length = 0; 1922 data.length = 0;
1923 } 1923 }
1924 this(Collection){ 1924 this(Collection col){
1925 implMissing( __FILE__, __LINE__ ); 1925 this(cast(int)(col.size*1.1));
1926 addAll(col);
1926 } 1927 }
1927 void add(int index, Object element){ 1928 void add(int index, Object element){
1928 data.length = data.length +1; 1929 data.length = data.length +1;
1929 System.arraycopy( data, index, data, index+1, data.length - index -1 ); 1930 System.arraycopy( data, index, data, index+1, data.length - index -1 );
1930 data[index] = element; 1931 data[index] = element;
1935 } 1936 }
1936 public bool add(String o){ 1937 public bool add(String o){
1937 return add(stringcast(o)); 1938 return add(stringcast(o));
1938 } 1939 }
1939 bool addAll(Collection c){ 1940 bool addAll(Collection c){
1940 implMissing( __FILE__, __LINE__ ); 1941 if( c.size() is 0 ) return false;
1941 return false; 1942 uint idx = data.length;
1943 data.length = data.length + c.size();
1944 foreach( o; c ){
1945 data[ idx++ ] = o;
1946 }
1947 return true;
1942 } 1948 }
1943 bool addAll(int index, Collection c){ 1949 bool addAll(int index, Collection c){
1944 implMissing( __FILE__, __LINE__ ); 1950 implMissing( __FILE__, __LINE__ );
1945 return false; 1951 return false;
1946 } 1952 }
2111 return a; 2117 return a;
2112 } 2118 }
2113 2119
2114 // only for D 2120 // only for D
2115 public int opApply (int delegate(ref Object value) dg){ 2121 public int opApply (int delegate(ref Object value) dg){
2116 implMissing( __FILE__, __LINE__ ); 2122 foreach( o; data ){
2123 auto res = dg( o );
2124 if( res ) return res;
2125 }
2117 return 0; 2126 return 0;
2118 } 2127 }
2119 } 2128 }
2120 2129
2121 class Arrays { 2130 class Arrays {