summaryrefslogtreecommitdiff
path: root/standalone/list.h
diff options
context:
space:
mode:
Diffstat (limited to 'standalone/list.h')
-rw-r--r--standalone/list.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/standalone/list.h b/standalone/list.h
index 1ac93c2f65d..0137667d1dc 100644
--- a/standalone/list.h
+++ b/standalone/list.h
@@ -110,6 +110,18 @@ template <class T> struct SinglyLinkedList : public IntrusiveList<T> {
Size--;
}
+ // Insert X next to Prev
+ void insert(T *Prev, T *X) {
+ DCHECK(!empty());
+ DCHECK_NE(Prev, nullptr);
+ DCHECK_NE(X, nullptr);
+ X->Next = Prev->Next;
+ Prev->Next = X;
+ if (Last == Prev)
+ Last = X;
+ ++Size;
+ }
+
void extract(T *Prev, T *X) {
DCHECK(!empty());
DCHECK_NE(Prev, nullptr);