TODO [/] - In Progress [X] - Finished #!! High Priority ---------------------------------------------------------------------------------- [/] Tests [/] Documentation #!! Medium Priority -------------------------------------------------------------------------------- [ ] Add to_array and from_array functions #!! Being Considered ------------------------------------------------------------------------------- [ ] Serialization [ ] save {all} [ ] load {all} [ ] serialize {all} [ ] deserialize {all} [ ] Zip Iterators [ ] Consumer Iterators #!! Optimizations ---------------------------------------------------------------------------------- [ ] Use binary search to find optimum hashtable prime size inside impl_calculate_size [ ] Optimize certain loops that use iterators that can simply use a normal loop #!! Done ------------------------------------------------------------------------------------------- [X] Remove PUBLIC and PRIVATE [X] Utility [X] assert.h [X] foreach.h [X] log.h [X] test.h [X] timer.h [X] Extra Collections [X] Add MultiSet [X] Add MultiMap [X] Add IntervalHeap [X] Add SortedList [X] Add BidiMap [X] Add functions [X] update {hashmap, treemap, multimap} [X] set {hashmap, treemap, multimap} [X] to_string {all} [X] iter_advance {all} (iterators) [X] iter_rewind {all} (iterators) [X] iter_go_to {all} (iterators) [X] equals {all} [X] copy_of {all} [X] resize {array based collections} [X] Custom allocators [X] Each file needs to be independent without including external files [X] Fix cases where new_custom() should be used instead of just new() [X] Add Function Tables that contains data type functions (compare, copy, display, free, hash, priority) [X] Add error codes that can be accessed from the collection's struct [X] Merge bidirectional map key_buffer and val_buffer to a single buffer and make key_dist and val_dist into dist[2] [X] Callback utility on_create, on_read, on_update, on_delete, on_resize [X] Replace IntervalHeap node by a simple buffer of two pointers (V (*buffer)[2])