fldsize--;
}
+ bool remove(type t) {
+ for (uint i = 0; i < fldsize; i++) {
+ if (array[i] == t) {
+ for (i++; i < fldsize; i++) {
+ array[i - 1] = array[i];
+ }
+ fldsize--;
+ return true;
+ }
+ }
+ return false;
+ }
+
+ void removeIndex(uint i) {
+ for (i++; i < fldsize; i++) {
+ array[i - 1] = array[i];
+ }
+ fldsize--;
+ }
+
type last() const {
return array[fldsize - 1];
}
memcpy(&array[fldsize], v->array, v->fldsize * sizeof(type));
}
+ void removeAll(Vector<type> *v) {
+ uint vsize = v->size();
+ for (uint i = 0; i < vsize; i++)
+ remove(v->get(i));
+ }
+
void add(type item) {
if (fldsize >= capacity) {
uint newcap = capacity << 1;
array[fldsize++] = item;
}
+ type lastElement() {
+ return get(size() - 1);
+ }
+
+ type firstElement() {
+ return get(0);
+ }
+
type get(uint index) const {
return array[index];
}
- void setExpand(uint index, type item) {
+ type setExpand(uint index, type item) {
+ type retval = (type) 0;
if (index >= fldsize)
setSize(index + 1);
+ else
+ retval = array[index];
set(index, item);
+ return retval;
}
void set(uint index, type item) {