Mercurial > projects > dwt-addons
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 { |