aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/list.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/common/list.h b/common/list.h
index b4fea866ff..fd09ea0d9f 100644
--- a/common/list.h
+++ b/common/list.h
@@ -78,6 +78,16 @@ public:
_size++;
}
+ T& remove_at(int idx) {
+ T& tmp;
+
+ assert(idx >= 0 && idx < _size);
+ tmp = _data[idx];
+ for (int i = idx; i < _size - 1; i++)
+ _data[i] = _data[i+1];
+ _size--;
+ return tmp;
+ }
// TODO: insert, remove, ...