155 lines
5.1 KiB
Plaintext
155 lines
5.1 KiB
Plaintext
# RELEASE.MAJOR.MINOR
|
|
|
|
1.6.1
|
|
Removed ./ext/linkedqueue.h
|
|
Added a deallocator parameter to all _free and _clear functions
|
|
|
|
1.6.0
|
|
Added ./ext/intervalheap.h
|
|
Added ./ext/multimap.h
|
|
Added ./ext/multiset.h
|
|
Added to_string function to most collections
|
|
Added the cmc prefix to the enum entry_state used by hashtables and to the enum heap_type used by the heap
|
|
Fixed return type on some functions from ./cmc/hashset.h and ./cmc/treeset.h
|
|
Fixed hashtables integer overflow when the capacity is divided by the load factor
|
|
Changed timer.h struct name from timer_t to cmc_timer to prevent name collisions on linux
|
|
|
|
1.5.3
|
|
Tests completely reorganized and now with full code coverage
|
|
Some fixes where there was a missing return statement
|
|
Expanded ./utl/assert.h
|
|
|
|
1.5.2
|
|
Added ./utl/test.h
|
|
Added ./utl/assert.h
|
|
Added ./tests/list.c - UnitTest for LIST
|
|
Small fixes on ./utl/foreach.h, ./utl/test.h and redone ./utl/timer.h
|
|
Removed ./utl/log.h functions that were unnecessary
|
|
Added the CMC namespace to CONCATC and CONCATH at macro_collections.h
|
|
|
|
1.5.1
|
|
New queue benchmark
|
|
Added ./sac/queue.h
|
|
Added ./utl/timer.h
|
|
Fixing descriptions and other minor fixes
|
|
|
|
1.5.0
|
|
Changed tests compilation and execution to a single Makefile
|
|
Changed project structure
|
|
./src/
|
|
./cmc/ - Main C Macro Collections Library
|
|
./dev/ - A copy of ./cmc/ used for development (logging utility)
|
|
./ext/ - Extra collections
|
|
./sac/ - Stack Allocated Collections
|
|
./utl/ - Utility like ForEach, logging, etc
|
|
Added ./utl/log.h a logging utility
|
|
Added ./dev/deque.h - A mirror of ./cmc/deque.h but with logging utility
|
|
Added ./ext/linkedqueue.h - A singly-linked list based queue
|
|
Added ./sac/stack.h - A Stack purely allocated on the stack
|
|
|
|
1.4.3
|
|
Fixed some functions names
|
|
Added set functions for both Tree and Hash Set
|
|
- is_subset
|
|
- is_proper_subset
|
|
- is_superset
|
|
- is_proper_subset
|
|
- is_disjointset
|
|
|
|
1.4.2
|
|
Adapted code so that plain struct type is accepted
|
|
Changed TreeSet max and min to be compatible with the TreeMap and the hash collections
|
|
Changed function modifier of all implementation detail to static
|
|
Fixed some implementation detail functions that were not prefixed with impl
|
|
Added types.c to test if it is possible to compile all the collections' generated code accepting all C data types
|
|
Removed pointertype.c (replaced by types.c)
|
|
|
|
1.4.1
|
|
Removed PUBLIC and PRIVATE from the main macro
|
|
Corrected examples and benchmark
|
|
Added new test consisting of compiling the header and source separately
|
|
|
|
1.4.0
|
|
New way on how iterators work to all collections
|
|
Added iter_init to work with stack allocated iterators
|
|
Added iter_new and iter_free to work with heap allocated iterators
|
|
Added two pointers to functions (it_start and it_end) that allow you to access iterators to both start and end of the target collection easily
|
|
iter_next and iter_prev now only move the iterator
|
|
To access the key, value and index, use a separate function
|
|
Removed FOR_EACH_MAP as it is no longer necessary since FOR_EACH also works to associative containers now
|
|
Updated benchmark, examples and tests to work on these new iterators
|
|
Changed pointertype test to be a pointer to struct instead of pointer to char
|
|
Added CHANGELOG and TODO
|
|
|
|
1.3.0
|
|
Changed how the linkedlist functions relative to nodes work
|
|
Removed reference to owner list on each node
|
|
Renamed some functions for consistency
|
|
|
|
1.2.4
|
|
Fixing some declarations in hashset and hashmap where a pointer type would cause problems
|
|
Added a test to make sure all collections support pointer type
|
|
Tests:
|
|
- pointertype
|
|
|
|
1.2.3
|
|
Added get_ref functions to all collections that support it (only included in hashmap, linkedlist, list and treemap)
|
|
|
|
1.2.2
|
|
Removed unnecessary modulo operation in hashtable functions
|
|
|
|
1.2.1
|
|
Optimized list - now using 'string.h' functions to shift elements around instead of for-loops:
|
|
- memset
|
|
- memcpy
|
|
- memmove
|
|
|
|
1.2.0
|
|
'contains' functions added to all collections
|
|
'contains' tests and benchmark
|
|
Unified Benchmark
|
|
Updated examples
|
|
|
|
1.1.3
|
|
Renamed deque's 'rear' struct member to 'back' to be more consistent with other collections
|
|
Better benchmark and foreach tests are alphabetically ordered
|
|
|
|
1.1.2
|
|
Fixing iterators for when they are initialized with an empty target
|
|
Better iterator tests
|
|
More examples
|
|
|
|
1.1.1
|
|
Reordering functions (implementation details are now at the end of each file)
|
|
|
|
1.1.0
|
|
Added new list functions:
|
|
- new_from
|
|
- prepend
|
|
- insert
|
|
- append
|
|
- remove
|
|
- fits
|
|
|
|
1.0.1
|
|
Fixed hashset logic in robin-hood hashing
|
|
|
|
1.0.0
|
|
First stable version
|
|
Includes the following collections:
|
|
- deque
|
|
- hashmap
|
|
- hashset
|
|
- heap
|
|
- linkedlist
|
|
- list
|
|
- queue
|
|
- stack
|
|
- treemap
|
|
- treeset
|
|
Two-way iterators
|
|
Benchmarks
|
|
Tests:
|
|
- foreach
|
|
- iterator
|