summaryrefslogtreecommitdiffstats
path: root/Vector.c
diff options
context:
space:
mode:
Diffstat (limited to 'Vector.c')
-rw-r--r--Vector.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/Vector.c b/Vector.c
index 819d9863..b5e77446 100644
--- a/Vector.c
+++ b/Vector.c
@@ -335,3 +335,15 @@ inline int Vector_indexOf(Vector* this, void* search_, Object_Compare compare) {
}
return -1;
}
+
+void Vector_splice(Vector* this, Vector* from) {
+ assert(Vector_isConsistent(this));
+ assert(Vector_isConsistent(from));
+ assert(!(this->owner && from->owner));
+
+ int olditmes = this->items;
+ this->items += from->items;
+ Vector_checkArraySize(this);
+ for (int j = 0; j < from->items; j++)
+ this->array[olditmes + j] = from->array[j];
+}