diff options
Diffstat (limited to 'standalone/list.h')
-rw-r--r-- | standalone/list.h | 12 |
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); |