// Add first element public void AddLast(SDoubleLinkBase <DataType> link) { Debug.Assert(link != null); if (link.IsLinked) { link.Unlink(); } link.LinkAfter(Last); }
// Add last element public void AddFirst(SDoubleLinkBase <DataType> link) { Debug.Assert(link != null); if (link.IsLinked) { link.Unlink(); } link.LinkBefore(First); }
// Unlink @link from the list public void Unlink(SDoubleLinkBase <DataType> link) { Debug.Assert(link != null); link.Unlink(); }