aboutsummaryrefslogtreecommitdiff
path: root/src/list.hpp
diff options
context:
space:
mode:
authorRobin Voetter <robin@voetter.nl>2019-08-30 13:02:28 +0200
committerRobin Voetter <robin@voetter.nl>2019-08-30 13:02:28 +0200
commitca2aa4880f468f12bcbe3d6cd315729dd361eff2 (patch)
tree92bdee1022a3497b2f048e450b23d4e585a649f8 /src/list.hpp
parent4b8325f3815c7fa774bb06ef5d190f039723222b (diff)
parent10541c8fc88875cb51df0a5fdeda20847133e676 (diff)
downloadzig-ca2aa4880f468f12bcbe3d6cd315729dd361eff2.tar.gz
zig-ca2aa4880f468f12bcbe3d6cd315729dd361eff2.zip
Merge remote-tracking branch 'upstream/master' into arm-support-improvement
Diffstat (limited to 'src/list.hpp')
-rw-r--r--src/list.hpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/list.hpp b/src/list.hpp
index f838e44a5b..8dce75f2b8 100644
--- a/src/list.hpp
+++ b/src/list.hpp
@@ -74,6 +74,17 @@ struct ZigList {
capacity = better_capacity;
}
+ T swap_remove(size_t index) {
+ if (length - 1 == index) return pop();
+
+ assert(index != SIZE_MAX);
+ assert(index < length);
+
+ T old_item = items[index];
+ items[index] = pop();
+ return old_item;
+ }
+
T *items;
size_t length;
size_t capacity;