swift-algorithm-club icon indicating copy to clipboard operation
swift-algorithm-club copied to clipboard

extend OrderedSet with convenience methods ensure_at_front/end..

Open dec1 opened this issue 3 years ago • 0 comments

…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)

dec1 avatar Jul 15 '21 18:07 dec1