Skip to content

Commit

Permalink
Implementation of a "smart" linked list.
Browse files Browse the repository at this point in the history
With a standard linked list, iterators are never invalidated unless
they point to an element that was erased (or the list is destroyed).
This implementation takes that one step further and never invalidates
iterators (unless the list is destroyed). From the perspective of the
list, erased elements no longer exist, but an iterator that still
points to an erased element can be dereferenced, incremented, and
decremented.

I was having trouble implementing this based on STL and Boost, so
I went ahead and coded this from scratch. The standard list interface
is implemented, aside from assignment (since I could not reconcile
assignment with the goal of not invalidating iterators).
  • Loading branch information
Ja-MiT committed Feb 22, 2014
1 parent 2a825ff commit f3c18b6
Showing 1 changed file with 845 additions and 0 deletions.

0 comments on commit f3c18b6

Please sign in to comment.