diff --git a/CHANGELOG b/CHANGELOG index 344496f..7d7019e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,23 @@ # RELEASE.MAJOR.MINOR -1.8.0 +0.23.0 + Added ./cmc/bitset.h + Added ./utl/futils.h + Added ./utl/mutex.h + Added ./utl/thread.h + Added cmc_flags_to_str + Added autogen.py for automated code generation for code coverage + Changed the iterator API + Merged ./tests/codecov and ./tests/main + Renamed ftab_key to fkey and ftab_val to fval + Renamed collections + - bidimap -> hashbidimap + - multimap -> hashmultimap + - multiset -> hashmultiset + +-- Versioning restarted for compatibility with SemVer (https://semver.org/) + +1.8.0 (0.22.0) Added Function Tables Added Error Codes Added Callback Functions @@ -14,13 +31,13 @@ Removed ./utl/cmc_string.h Replaced CMC_FOR_EACH and CMC_FOR_EACH_REV by CMC_FOREACH and CMC_FOREACH_REV -1.7.3 +1.7.3 (0.21.0) Breaking changes: - ext collections merged to cmc - No more typedefs in code generated Fast forwarded codecov -1.7.2 +1.7.2 (0.20.0) Added resize function to array based collections Added the following functions to hashtable based collections: - load @@ -31,18 +48,18 @@ Removed unnecessary conditional input and output functions Minor fixes throughout the library -1.7.1 +1.7.1 (0.19.0) Added new assert macro cmc_assert_sorted Fixed some include guards for hashtables Moved the cmc string format to each file Renamed some list functions (sequence input/output) Renamed list and linkedlist functions push and pop to push_at and pop_at -1.7.0 +1.7.0 (0.18.0) Removed FMOD (function modifier) Added CMC prefix to all macros defined within the library -1.6.3 +1.6.3 (0.17.0) Added iterator functions to all collections: - iter_advance - iter_rewind @@ -50,7 +67,7 @@ Added cmc prefix to the logging utility Integrated the assert utility with the test utility. Now any assertion that fails inside the unit test will trigger failure and is no longer needed to manually pass or fail tests. -1.6.2 +1.6.2 (0.16.0) Added new functions to all collections: - copy_of - equals @@ -58,11 +75,11 @@ Fixed some collections and some improvements to the hashtables Unified the functions set and update from the map implementations -1.6.1 +1.6.1 (0.15.0) Removed ./ext/linkedqueue.h Added a deallocator parameter to all _free and _clear functions -1.6.0 +1.6.0 (0.14.0) Added ./ext/intervalheap.h Added ./ext/multimap.h Added ./ext/multiset.h @@ -72,12 +89,12 @@ 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 +1.5.3 (0.13.0) 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 +1.5.2 (0.12.0) Added ./utl/test.h Added ./utl/assert.h Added ./tests/list.c - UnitTest for LIST @@ -85,13 +102,13 @@ Removed ./utl/log.h functions that were unnecessary Added the CMC namespace to CONCATC and CONCATH at macro_collections.h -1.5.1 +1.5.1 (0.11.0) New queue benchmark Added ./sac/queue.h Added ./utl/timer.h Fixing descriptions and other minor fixes -1.5.0 +1.5.0 (0.10.0) Changed tests compilation and execution to a single Makefile Changed project structure ./src/ @@ -105,7 +122,7 @@ Added ./ext/linkedqueue.h - A singly-linked list based queue Added ./sac/stack.h - A Stack purely allocated on the stack -1.4.3 +1.4.3 (0.9.0) Fixed some functions names Added set functions for both Tree and Hash Set - is_subset @@ -114,7 +131,7 @@ - is_proper_subset - is_disjointset -1.4.2 +1.4.2 (0.8.0) 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 @@ -122,12 +139,12 @@ 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 +1.4.1 (0.7.0) 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 +1.4.0 (0.6.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 @@ -139,48 +156,48 @@ Changed pointertype test to be a pointer to struct instead of pointer to char Added CHANGELOG and TODO -1.3.0 +1.3.0 (0.5.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 +1.2.4 (0.4.1) 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 +1.2.3 (0.4.0) Added get_ref functions to all collections that support it (only included in hashmap, linkedlist, list and treemap) -1.2.2 +1.2.2 (0.3.2) Removed unnecessary modulo operation in hashtable functions -1.2.1 +1.2.1 (0.3.1) Optimized list - now using 'string.h' functions to shift elements around instead of for-loops: - memset - memcpy - memmove -1.2.0 +1.2.0 (0.3.0) 'contains' functions added to all collections 'contains' tests and benchmark Unified Benchmark Updated examples -1.1.3 +1.1.3 (0.2.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 +1.1.2 (0.2.2) Fixing iterators for when they are initialized with an empty target Better iterator tests More examples -1.1.1 +1.1.1 (0.2.1) Reordering functions (implementation details are now at the end of each file) -1.1.0 +1.1.0 (0.2.0) Added new list functions: - new_from - prepend @@ -189,10 +206,10 @@ - remove - fits -1.0.1 +1.0.1 (0.1.1) Fixed hashset logic in robin-hood hashing -1.0.0 +1.0.0 (0.1.0) First stable version Includes the following collections: - deque diff --git a/README.md b/README.md index 2eefa4f..b2b2841 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@

License - Version + Version travis-ci codecov test_suit diff --git a/docs/Introduction/introduction.html b/docs/Introduction/introduction.html index 7f41630..2290474 100644 --- a/docs/Introduction/introduction.html +++ b/docs/Introduction/introduction.html @@ -153,10 +153,16 @@ C Macro Collections Logo

Header only, macro generated, generic and type-safe Collections in C.

+

+ LinkToRepo + LinkToDocs +

License + Version travis-ci codecov + test_suit

The C Macro Collections Library is a compilation of macros that can be used to generate common data structures for any desired type. These data structures are type safe and are powered with many features (see Features section).

The documentation is currently being written in hopes that in the future it can be used to help you get to know better this amazing C library.

diff --git a/docs/index.html b/docs/index.html index b5b246f..9879b31 100644 --- a/docs/index.html +++ b/docs/index.html @@ -153,10 +153,16 @@ C Macro Collections Logo

Header only, macro generated, generic and type-safe Collections in C.

+

+ LinkToRepo + LinkToDocs +

License + Version travis-ci codecov + test_suit

The C Macro Collections Library is a compilation of macros that can be used to generate common data structures for any desired type. These data structures are type safe and are powered with many features (see Features section).

The documentation is currently being written in hopes that in the future it can be used to help you get to know better this amazing C library.

diff --git a/docs/print.html b/docs/print.html index 6698cdd..a8a34e1 100644 --- a/docs/print.html +++ b/docs/print.html @@ -155,10 +155,16 @@ C Macro Collections Logo

Header only, macro generated, generic and type-safe Collections in C.

+

+ LinkToRepo + LinkToDocs +

License + Version travis-ci codecov + test_suit

The C Macro Collections Library is a compilation of macros that can be used to generate common data structures for any desired type. These data structures are type safe and are powered with many features (see Features section).

The documentation is currently being written in hopes that in the future it can be used to help you get to know better this amazing C library.

diff --git a/documentation/Introduction/introduction.md b/documentation/Introduction/introduction.md index f6f57df..f92f970 100644 --- a/documentation/Introduction/introduction.md +++ b/documentation/Introduction/introduction.md @@ -6,10 +6,17 @@

Header only, macro generated, generic and type-safe Collections in C.

+

+ LinkToRepo + LinkToDocs +

+

License + Version travis-ci codecov + test_suit

The C Macro Collections Library is a compilation of macros that can be used to generate common data structures for any desired type. These data structures are [type safe](https://en.wikipedia.org/wiki/Type_safety) and are powered with many features (see Features section).