[x] This pull request is complete and ready for review.
Description
- Bugfix: Fails to insert at index 0 into empty container (off by one error)
- For situations such as implementing a list of "recent documents" eg for text editor, it's necessary to maintain an ordered set, but with the additional capability of prepending/appending a new instance if the object doesn't yet exist in the set, **or** if it does, shifting the object to the front/back. This functionality has been added.
Furthermore, the convenience method `contains`, which can be used by clients without requiring them to know the internal representation of the class, (and `debug_str` useful for printing/debugging)
…l eg in implementing a list of "recent documents"
Checklist
Description
- Bugfix: Fails to insert at index 0 into empty container (off by one error) - For situations such as implementing a list of "recent documents" eg for text editor, it's necessary to maintain an ordered set, but with the additional capability of prepending/appending a new instance if the object doesn't yet exist in the set, **or** if it does, shifting the object to the front/back. This functionality has been added. Furthermore, the convenience method `contains`, which can be used by clients without requiring them to know the internal representation of the class, (and `debug_str` useful for printing/debugging)