3 import "ArrayUtilities"
7 define array = ((ArrayImpl)this).a;
18 public class RedjArray
29 //virtual void FreeItem(void *);
39 int newsize = (value / _factor + 1) * _factor;
41 size = value ? newsize : 0;
45 get { return _count; }
56 array = renew array byte[value * sizeoftype];
61 array = new byte[value * sizeoftype];
67 property uint growingFactor { set { _factor = value; } get { return _factor; } }
72 memcpy(array, value, _size * sizeoftype);
79 void Insert(uint position, int n)
82 if(position < _count - 1)
83 MoveBytes(array + (position + n) * sizeoftype, array + position * sizeoftype, (_count - position - n) * sizeoftype);
89 void Remove(uint position, int n)
91 if(position + n - 1 < _count - 1)
92 MoveBytes(array + position * sizeoftype, array + (position + n) * sizeoftype, (_count - position - n) * sizeoftype);
97 public class IntArray : RedjArray
109 uint * AddBefore(uint position, int item)
117 public class UintArray : RedjArray
122 uint * Add(uint item)
129 uint * AddBefore(uint position, uint item)
137 public class StringArray : RedjArray
139 type = class(String);
142 String * Add(String item)
149 String * AddBefore(uint position, String item)
158 for(c = 0; c < _count; c++)