91 Commits
Author SHA1 Message Date
Leonardo f74ce7519a Added update function for hashmap, treemap and multimap and added update_all for multimap 2019-08-03 01:55:36 -03:00
Leonardo e470021d13 Added to_string to intervalheap and multimap 2019-08-02 00:53:35 -03:00
Leonardo 976965bcfa Fixed integer overflow with hashtables when calculating their capacity 2019-08-02 00:18:22 -03:00
Leonardo 1254e657c5 Complete remake of multiset 2019-08-01 23:52:50 -03:00
Leonardo 90ee6a424d heap hotfix 2019-07-31 23:08:51 -03:00
Leonardo 38620ba457 Added to_string methods to cmc, ./utl/cmc_string.h, fixed some variable names and fixed includes 2019-07-16 23:55:30 -03:00
Leonardo af26f6c081 More fixes to ./cmc/stack.h 2019-07-13 00:17:01 -03:00
Leonardo d82be005da Fixing stack iter_init 2019-07-12 23:34:16 -03:00
Leonardo e37b54fc62 Added bool type assert 2019-07-12 23:33:35 -03:00
Leonardo 354cd538f8 Added cmc prefixes to enums used by heap and hashtables and fixed return type on treeset and hashset 2019-07-10 16:57:46 -03:00
Leonardo 9c23c3ca77 Update multimap to new standards 2019-07-08 19:55:48 -03:00
Leonardo 875678d7a9 Added intervalheap, simplified heap and moved multimap and multiset to the ext folder 2019-07-06 00:26:54 -03:00
Leonardo 65f2b79157 Merge branch 'dev' 2019-07-05 16:46:12 -03:00
LeoVen c60ee10185 Changing timer_t to cmc_timer to not generate conflicts 2019-07-05 13:30:07 -03:00
Leonardo 8c457eeb12 Fixing missing return statements 2019-07-04 14:55:17 -03:00
Leonardo a9314ee8f7 Update assert.h 2019-07-04 02:13:41 -03:00
Leonardo 7b349ea426 Many minor fixes, changes and first attempt of codecov
Changes on assert.h, foreach.h, test.h and timer.h
Updated benchmarks, examples and tests
Updated tests/Makefile for future
Added list.c test
Added CMC namespace to CONCATC and CONCATH on macro_collections.h
2019-06-28 00:52:23 -03:00
Leonardo 1edb12a83c Added assert macros utility 2019-06-27 23:55:10 -03:00
Leonardo 176bbc66ad Added UnitTest utility and removed unnecessary logging functions 2019-06-26 01:32:44 -03:00
Leonardo afaecb2dde Update TODO, CHANGELOG and headers 2019-06-24 02:11:10 -03:00
Leonardo 9062415322 Added sac/queue.h, moved timer.h to utl folder, new queue benchmark 2019-06-24 02:09:02 -03:00
Leonardo 8010cce8c7 Restructuring project
View CHANGELOG on v1.5.0 for more information
2019-06-21 16:07:03 -03:00
Leonardo 21a2bea746 Fixing previous commit 2019-06-13 00:44:41 -03:00
Leonardo b0a2e42cfe Minor fixes all around
Changed some input parameter names
Updated TODO
Changed how hashtables initialization works. Now the given initial capacity will be guaranteed to be reached before the hashtable rehashes (load is now considered in the calculation).
2019-06-13 00:40:55 -03:00
Leonardo 870cfe302d Added more set functions
Added is_subset, is_superset, is_proper_subset, is_proper_superset, is_disjointset
2019-06-11 00:42:11 -03:00
Leonardo ea04c7ddaa Quickfix function name 2019-06-09 23:53:34 -03:00
Leonardo aac07a645c Now collections accept plain struct
Also fixed impl prefixes and function modifiers
Added new test for all possible data types
Fixed some READMEs
2019-06-07 01:44:15 -03:00
Leonardo efdb1c80a3 Changed TreeSet max and min to be compatible with the TreeMap and the hash collections 2019-06-06 23:42:14 -03:00
Leonardo 0f84d65656 Removed PUBLIC and PRIVATE, corrected some examples and new test 2019-05-30 21:23:37 -03:00
Leonardo 5f39eb011c Final update - fixed foreach, tests and benchmark 2019-05-16 13:41:35 -03:00
Leonardo 22e84db11a Tenth update on iterators - TREESET 2019-05-16 01:18:26 -03:00
Leonardo 8410111eab Ninth update on iterators - TREEMAP 2019-05-16 00:04:54 -03:00
Leonardo 490936bddd Eighth update on iterators - STACK 2019-05-15 20:42:28 -03:00
Leonardo f956094178 Seventh update on iterators - QUEUE 2019-05-15 19:57:35 -03:00
Leonardo 812d0240e3 Sixth update on iterators - LINKEDLIST 2019-05-15 18:49:40 -03:00
Leonardo 918b73ad51 Fifth update on iterators - HEAP 2019-05-15 15:22:59 -03:00
Leonardo ae5241a6fb Fourth update on iterators - HASHSET 2019-05-14 23:22:52 -03:00
Leonardo d3e7d64d2a Third update on iterators - HASHMAP 2019-05-14 00:52:20 -03:00
Leonardo 221c55cf2a Second update on iterators - DEQUE 2019-05-13 23:01:27 -03:00
Leonardo 444f597a98 First update on iterators - LIST 2019-05-11 00:24:48 -03:00
Leonardo c61ac2e347 Changed iter_new to inter_init and added new iter_new that allocates the iterator on the heap 2019-05-08 11:47:00 -03:00
Leonardo 21ab3eeb07 Changed linkedlist IO relative to a node 2019-05-07 17:20:01 -03:00
Leonardo d89972c621 Fixing hashset and hashmap error with a pointer data type and adding a test to address that 2019-05-04 00:06:27 -03:00
Leonardo a37207e9d7 Added get_ref
Gets the reference of a value. Useful for primitive values like int, char, double, size_t, etc.
The only collections with this function are associative collections (when getting the value) and lists (working as an update method).
Other collections have not received this function because they are either sorted by the values so changing it would break the structure or because removing and adding back again the element is done instantaneously.
2019-04-26 23:35:09 -03:00
Leonardo 37bfcbb9c4 Added multimap 2019-04-26 20:48:46 -03:00
Leonardo 73171f5068 Removing unnecessary modulo in hashtable functions 2019-04-24 17:20:56 -03:00
Leonardo 8966cd5e7d List optimization and indexof function
Replaced all for loops with memcpy, memmove and memset.
2019-04-16 23:41:51 -03:00
Leonardo e4d5687907 Added contains functions to all collections 2019-04-14 18:12:58 -03:00
Leonardo bd8d745d7d Renaming deque's rear to back to be consistent with function names 2019-04-12 00:33:02 -03:00
Leonardo bddb9252f3 Fixing iterators 2019-04-11 14:43:28 -03:00