From f4440d68331c947db5f37e547399b7eddb501ea2 Mon Sep 17 00:00:00 2001 From: Leonardo Date: Mon, 1 Apr 2019 12:17:43 -0300 Subject: [PATCH] Removed unused K parameters from macros that are not associative containers --- examples/heapsort.c | 2 +- examples/linked_list_node.c | 2 +- examples/tree_print.c | 2 +- src/deque.h | 65 ++++++++++++++-------------- src/hashset.h | 84 ++++++++++++++++++------------------ src/heap.h | 62 +++++++++++++------------- src/linkedlist.h | 76 ++++++++++++++++---------------- src/list.h | 58 ++++++++++++------------- src/queue.h | 64 +++++++++++++-------------- src/stack.h | 58 ++++++++++++------------- src/treeset.h | 82 +++++++++++++++++------------------ tests/iterators/deque.c | 2 +- tests/iterators/hashset.c | 2 +- tests/iterators/heap.c | 2 +- tests/iterators/linkedlist.c | 2 +- tests/iterators/list.c | 2 +- tests/iterators/queue.c | 2 +- tests/iterators/stack.c | 2 +- tests/iterators/treeset.c | 2 +- 19 files changed, 286 insertions(+), 285 deletions(-) diff --git a/examples/heapsort.c b/examples/heapsort.c index 1855e4c..3a76a7d 100644 --- a/examples/heapsort.c +++ b/examples/heapsort.c @@ -6,7 +6,7 @@ static int intcmp(int a, int b) return a - b; } -HEAP_GENERATE(h, heap, static, , int) +HEAP_GENERATE(h, heap, static, int) int main(int argc, char const *argv[]) { diff --git a/examples/linked_list_node.c b/examples/linked_list_node.c index da40e3e..e267a4e 100644 --- a/examples/linked_list_node.c +++ b/examples/linked_list_node.c @@ -2,7 +2,7 @@ #include #include "../src/linkedlist.h" -LINKEDLIST_GENERATE(l, list, , , int) +LINKEDLIST_GENERATE(l, list, , int) int main(int argc, char const *argv[]) { diff --git a/examples/tree_print.c b/examples/tree_print.c index fc39eea..5029583 100644 --- a/examples/tree_print.c +++ b/examples/tree_print.c @@ -3,7 +3,7 @@ #include #include "../src/treeset.h" -TREESET_GENERATE(set, set, , , int) +TREESET_GENERATE(set, set, , int) void print_tree(set_node *root, int height) { diff --git a/src/deque.h b/src/deque.h index b689bfb..7c44355 100644 --- a/src/deque.h +++ b/src/deque.h @@ -17,47 +17,48 @@ #include #include +#include -#define DEQUE_GENERATE(PFX, SNAME, FMOD, K, V) \ - DEQUE_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - DEQUE_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ - DEQUE_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) +#define DEQUE_GENERATE(PFX, SNAME, FMOD, V) \ + DEQUE_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + DEQUE_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ + DEQUE_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PRIVATE *******************************************************************/ #define DEQUE_GENERATE_HEADER_PRIVATE(PFX, SNAME, FMOD, K, V) \ - DEQUE_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + DEQUE_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define DEQUE_GENERATE_SOURCE_PRIVATE(PFX, SNAME, FMOD, K, V) \ - DEQUE_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - DEQUE_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + DEQUE_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + DEQUE_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PUBLIC ********************************************************************/ #define DEQUE_GENERATE_HEADER_PUBLIC(PFX, SNAME, FMOD, K, V) \ - DEQUE_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - DEQUE_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + DEQUE_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + DEQUE_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define DEQUE_GENERATE_SOURCE_PUBLIC(PFX, SNAME, FMOD, K, V) \ - DEQUE_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + DEQUE_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* STRUCT ********************************************************************/ -#define DEQUE_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - \ - struct SNAME##_s \ - { \ - V *buffer; \ - size_t capacity; \ - size_t count; \ - size_t front; \ - size_t rear; \ - }; \ - \ - struct SNAME##_iter_s \ - { \ - struct SNAME##_s *target; \ - size_t cursor; \ - size_t count; \ - bool start; \ - bool end; \ - }; \ - \ +#define DEQUE_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + \ + struct SNAME##_s \ + { \ + V *buffer; \ + size_t capacity; \ + size_t count; \ + size_t front; \ + size_t rear; \ + }; \ + \ + struct SNAME##_iter_s \ + { \ + struct SNAME##_s *target; \ + size_t cursor; \ + size_t count; \ + bool start; \ + bool end; \ + }; \ + \ /* HEADER ********************************************************************/ -#define DEQUE_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ +#define DEQUE_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ \ typedef struct SNAME##_s SNAME; \ typedef struct SNAME##_iter_s SNAME##_iter; \ @@ -88,7 +89,7 @@ FMOD bool PFX##_iter_prev(SNAME##_iter *iter, V *result, size_t *index); \ \ /* SOURCE ********************************************************************/ -#define DEQUE_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) \ +#define DEQUE_GENERATE_SOURCE(PFX, SNAME, FMOD, V) \ \ FMOD bool PFX##_grow(SNAME *_deque_); \ \ diff --git a/src/hashset.h b/src/hashset.h index f055a33..307d4e6 100644 --- a/src/hashset.h +++ b/src/hashset.h @@ -39,56 +39,56 @@ static const size_t cmc_hashtable_primes[] = {53, 97, 193, 389, 769, 1543, 3079, #endif /* CMC_HASH_TABLE_SETUP */ -#define HASHSET_GENERATE(PFX, SNAME, FMOD, K, V) \ - HASHSET_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - HASHSET_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ - HASHSET_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) +#define HASHSET_GENERATE(PFX, SNAME, FMOD, V) \ + HASHSET_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + HASHSET_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ + HASHSET_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PRIVATE *******************************************************************/ #define HASHSET_GENERATE_HEADER_PRIVATE(PFX, SNAME, FMOD, K, V) \ - HASHSET_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + HASHSET_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define HASHSET_GENERATE_SOURCE_PRIVATE(PFX, SNAME, FMOD, K, V) \ - HASHSET_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - HASHSET_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + HASHSET_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + HASHSET_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PUBLIC ********************************************************************/ #define HASHSET_GENERATE_HEADER_PUBLIC(PFX, SNAME, FMOD, K, V) \ - HASHSET_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - HASHSET_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + HASHSET_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + HASHSET_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define HASHSET_GENERATE_SOURCE_PUBLIC(PFX, SNAME, FMOD, K, V) \ - HASHSET_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + HASHSET_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* STRUCT ********************************************************************/ -#define HASHSET_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - \ - struct SNAME##_s \ - { \ - struct SNAME##_entry_s *buffer; \ - size_t capacity; \ - size_t count; \ - double load; \ - int (*cmp)(V, V); \ - size_t (*hash)(V); \ - }; \ - \ - struct SNAME##_entry_s \ - { \ - V value; \ - size_t dist; \ - enum EntryState_e state; \ - }; \ - \ - struct SNAME##_iter_s \ - { \ - struct SNAME##_s *target; \ - size_t cursor; \ - size_t index; \ - size_t first; \ - size_t last; \ - bool start; \ - bool end; \ - }; \ - \ +#define HASHSET_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + \ + struct SNAME##_s \ + { \ + struct SNAME##_entry_s *buffer; \ + size_t capacity; \ + size_t count; \ + double load; \ + int (*cmp)(V, V); \ + size_t (*hash)(V); \ + }; \ + \ + struct SNAME##_entry_s \ + { \ + V value; \ + size_t dist; \ + enum EntryState_e state; \ + }; \ + \ + struct SNAME##_iter_s \ + { \ + struct SNAME##_s *target; \ + size_t cursor; \ + size_t index; \ + size_t first; \ + size_t last; \ + bool start; \ + bool end; \ + }; \ + \ /* HEADER ********************************************************************/ -#define HASHSET_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ +#define HASHSET_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ \ typedef struct SNAME##_s SNAME; \ typedef struct SNAME##_entry_s SNAME##_entry; \ @@ -119,7 +119,7 @@ static const size_t cmc_hashtable_primes[] = {53, 97, 193, 389, 769, 1543, 3079, FMOD bool PFX##_iter_prev(SNAME##_iter *iter, V *result, size_t *index); \ \ /* SOURCE ********************************************************************/ -#define HASHSET_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) \ +#define HASHSET_GENERATE_SOURCE(PFX, SNAME, FMOD, V) \ \ FMOD bool PFX##_grow(SNAME *_set_); \ FMOD SNAME##_entry *PFX##_get_entry(SNAME *_set_, V element); \ diff --git a/src/heap.h b/src/heap.h index a17ec78..3f87f71 100644 --- a/src/heap.h +++ b/src/heap.h @@ -25,45 +25,45 @@ typedef enum HeapOrder MinHeap = -1 } HeapOrder; -#define HEAP_GENERATE(PFX, SNAME, FMOD, K, V) \ - HEAP_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - HEAP_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ - HEAP_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) +#define HEAP_GENERATE(PFX, SNAME, FMOD, V) \ + HEAP_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + HEAP_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ + HEAP_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PRIVATE *******************************************************************/ #define HEAP_GENERATE_HEADER_PRIVATE(PFX, SNAME, FMOD, K, V) \ - HEAP_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + HEAP_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define HEAP_GENERATE_SOURCE_PRIVATE(PFX, SNAME, FMOD, K, V) \ - HEAP_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - HEAP_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + HEAP_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + HEAP_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PUBLIC ********************************************************************/ #define HEAP_GENERATE_HEADER_PUBLIC(PFX, SNAME, FMOD, K, V) \ - HEAP_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - HEAP_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + HEAP_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + HEAP_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define HEAP_GENERATE_SOURCE_PUBLIC(PFX, SNAME, FMOD, K, V) \ - HEAP_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + HEAP_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* STRUCT ********************************************************************/ -#define HEAP_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - \ - struct SNAME##_s \ - { \ - V *buffer; \ - size_t capacity; \ - size_t count; \ - enum HeapOrder HO; \ - int (*cmp)(V, V); \ - }; \ - \ - struct SNAME##_iter_s \ - { \ - struct SNAME##_s *target; \ - size_t cursor; \ - bool start; \ - bool end; \ - }; \ - \ +#define HEAP_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + \ + struct SNAME##_s \ + { \ + V *buffer; \ + size_t capacity; \ + size_t count; \ + enum HeapOrder HO; \ + int (*cmp)(V, V); \ + }; \ + \ + struct SNAME##_iter_s \ + { \ + struct SNAME##_s *target; \ + size_t cursor; \ + bool start; \ + bool end; \ + }; \ + \ /* HEADER ********************************************************************/ -#define HEAP_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ +#define HEAP_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ \ typedef struct SNAME##_s SNAME; \ typedef struct SNAME##_iter_s SNAME##_iter; \ @@ -89,7 +89,7 @@ typedef enum HeapOrder FMOD bool PFX##_iter_prev(SNAME##_iter *iter, V *result, size_t *index); \ \ /* SOURCE ********************************************************************/ -#define HEAP_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) \ +#define HEAP_GENERATE_SOURCE(PFX, SNAME, FMOD, V) \ \ FMOD bool PFX##_grow(SNAME *_heap_); \ FMOD size_t PFX##_p(size_t index); \ diff --git a/src/linkedlist.h b/src/linkedlist.h index 0b21eda..3de748f 100644 --- a/src/linkedlist.h +++ b/src/linkedlist.h @@ -18,52 +18,52 @@ #include #include -#define LINKEDLIST_GENERATE(PFX, SNAME, FMOD, K, V) \ - LINKEDLIST_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - LINKEDLIST_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ - LINKEDLIST_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) +#define LINKEDLIST_GENERATE(PFX, SNAME, FMOD, V) \ + LINKEDLIST_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + LINKEDLIST_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ + LINKEDLIST_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PRIVATE *******************************************************************/ #define LINKEDLIST_GENERATE_HEADER_PRIVATE(PFX, SNAME, FMOD, K, V) \ - LINKEDLIST_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + LINKEDLIST_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define LINKEDLIST_GENERATE_SOURCE_PRIVATE(PFX, SNAME, FMOD, K, V) \ - LINKEDLIST_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - LINKEDLIST_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + LINKEDLIST_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + LINKEDLIST_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PUBLIC ********************************************************************/ #define LINKEDLIST_GENERATE_HEADER_PUBLIC(PFX, SNAME, FMOD, K, V) \ - LINKEDLIST_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - LINKEDLIST_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + LINKEDLIST_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + LINKEDLIST_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define LINKEDLIST_GENERATE_SOURCE_PUBLIC(PFX, SNAME, FMOD, K, V) \ - LINKEDLIST_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + LINKEDLIST_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* STRUCT ********************************************************************/ -#define LINKEDLIST_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - \ - struct SNAME##_s \ - { \ - struct SNAME##_node_s *head; \ - struct SNAME##_node_s *tail; \ - size_t count; \ - }; \ - \ - struct SNAME##_node_s \ - { \ - struct SNAME##_s *owner; \ - struct SNAME##_node_s *next; \ - struct SNAME##_node_s *prev; \ - V data; \ - }; \ - \ - struct SNAME##_iter_s \ - { \ - struct SNAME##_s *target; \ - struct SNAME##_node_s *cursor; \ - size_t index; \ - bool start; \ - bool end; \ - }; \ - \ +#define LINKEDLIST_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + \ + struct SNAME##_s \ + { \ + struct SNAME##_node_s *head; \ + struct SNAME##_node_s *tail; \ + size_t count; \ + }; \ + \ + struct SNAME##_node_s \ + { \ + struct SNAME##_s *owner; \ + struct SNAME##_node_s *next; \ + struct SNAME##_node_s *prev; \ + V data; \ + }; \ + \ + struct SNAME##_iter_s \ + { \ + struct SNAME##_s *target; \ + struct SNAME##_node_s *cursor; \ + size_t index; \ + bool start; \ + bool end; \ + }; \ + \ /* HEADER ********************************************************************/ -#define LINKEDLIST_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ +#define LINKEDLIST_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ \ typedef struct SNAME##_s SNAME; \ typedef struct SNAME##_node_s SNAME##_node; \ @@ -102,7 +102,7 @@ FMOD bool PFX##_iter_prev(SNAME##_iter *iter, V *result, size_t *index); \ \ /* SOURCE ********************************************************************/ -#define LINKEDLIST_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) \ +#define LINKEDLIST_GENERATE_SOURCE(PFX, SNAME, FMOD, V) \ \ FMOD SNAME *PFX##_new(void) \ { \ diff --git a/src/list.h b/src/list.h index c835fa4..2970b1c 100644 --- a/src/list.h +++ b/src/list.h @@ -19,43 +19,43 @@ #include #include -#define LIST_GENERATE(PFX, SNAME, FMOD, K, V) \ - LIST_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - LIST_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ - LIST_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) +#define LIST_GENERATE(PFX, SNAME, FMOD, V) \ + LIST_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + LIST_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ + LIST_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PRIVATE *******************************************************************/ #define LIST_GENERATE_HEADER_PRIVATE(PFX, SNAME, FMOD, K, V) \ - LIST_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + LIST_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define LIST_GENERATE_SOURCE_PRIVATE(PFX, SNAME, FMOD, K, V) \ - LIST_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - LIST_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + LIST_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + LIST_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PUBLIC ********************************************************************/ #define LIST_GENERATE_HEADER_PUBLIC(PFX, SNAME, FMOD, K, V) \ - LIST_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - LIST_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + LIST_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + LIST_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define LIST_GENERATE_SOURCE_PUBLIC(PFX, SNAME, FMOD, K, V) \ - LIST_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + LIST_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* STRUCT ********************************************************************/ -#define LIST_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - \ - struct SNAME##_s \ - { \ - V *buffer; \ - size_t capacity; \ - size_t count; \ - }; \ - \ - struct SNAME##_iter_s \ - { \ - struct SNAME##_s *target; \ - size_t cursor; \ - bool start; \ - bool end; \ - }; \ - \ +#define LIST_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + \ + struct SNAME##_s \ + { \ + V *buffer; \ + size_t capacity; \ + size_t count; \ + }; \ + \ + struct SNAME##_iter_s \ + { \ + struct SNAME##_s *target; \ + size_t cursor; \ + bool start; \ + bool end; \ + }; \ + \ /* HEADER ********************************************************************/ -#define LIST_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ +#define LIST_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ \ typedef struct SNAME##_s SNAME; \ typedef struct SNAME##_iter_s SNAME##_iter; \ @@ -87,7 +87,7 @@ FMOD bool PFX##_iter_prev(SNAME##_iter *iter, V *result, size_t *index); \ \ /* SOURCE ********************************************************************/ -#define LIST_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) \ +#define LIST_GENERATE_SOURCE(PFX, SNAME, FMOD, V) \ \ FMOD bool PFX##_grow(SNAME *_list_); \ \ diff --git a/src/queue.h b/src/queue.h index e5d0ada..cd9dc0a 100644 --- a/src/queue.h +++ b/src/queue.h @@ -19,46 +19,46 @@ #include #include -#define QUEUE_GENERATE(PFX, SNAME, FMOD, K, V) \ - QUEUE_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - QUEUE_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ - QUEUE_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) +#define QUEUE_GENERATE(PFX, SNAME, FMOD, V) \ + QUEUE_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + QUEUE_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ + QUEUE_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PRIVATE *******************************************************************/ #define QUEUE_GENERATE_HEADER_PRIVATE(PFX, SNAME, FMOD, K, V) \ - QUEUE_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + QUEUE_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define QUEUE_GENERATE_SOURCE_PRIVATE(PFX, SNAME, FMOD, K, V) \ - QUEUE_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - QUEUE_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + QUEUE_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + QUEUE_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PUBLIC ********************************************************************/ #define QUEUE_GENERATE_HEADER_PUBLIC(PFX, SNAME, FMOD, K, V) \ - QUEUE_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - QUEUE_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + QUEUE_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + QUEUE_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define QUEUE_GENERATE_SOURCE_PUBLIC(PFX, SNAME, FMOD, K, V) \ - QUEUE_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + QUEUE_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* STRUCT ********************************************************************/ -#define QUEUE_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - \ - struct SNAME##_s \ - { \ - V *buffer; \ - size_t capacity; \ - size_t count; \ - size_t front; \ - size_t rear; \ - }; \ - \ - struct SNAME##_iter_s \ - { \ - struct SNAME##_s *target; \ - size_t cursor; \ - size_t count; \ - bool start; \ - bool end; \ - }; \ - \ +#define QUEUE_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + \ + struct SNAME##_s \ + { \ + V *buffer; \ + size_t capacity; \ + size_t count; \ + size_t front; \ + size_t rear; \ + }; \ + \ + struct SNAME##_iter_s \ + { \ + struct SNAME##_s *target; \ + size_t cursor; \ + size_t count; \ + bool start; \ + bool end; \ + }; \ + \ /* HEADER ********************************************************************/ -#define QUEUE_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ +#define QUEUE_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ \ typedef struct SNAME##_s SNAME; \ typedef struct SNAME##_iter_s SNAME##_iter; \ @@ -84,7 +84,7 @@ FMOD bool PFX##_iter_prev(SNAME##_iter *iter, V *result, size_t *index); \ \ /* SOURCE ********************************************************************/ -#define QUEUE_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) \ +#define QUEUE_GENERATE_SOURCE(PFX, SNAME, FMOD, V) \ \ FMOD bool PFX##_grow(SNAME *_queue_); \ \ diff --git a/src/stack.h b/src/stack.h index 8a986be..750b42a 100644 --- a/src/stack.h +++ b/src/stack.h @@ -19,43 +19,43 @@ #include #include -#define STACK_GENERATE(PFX, SNAME, FMOD, K, V) \ - STACK_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - STACK_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ - STACK_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) +#define STACK_GENERATE(PFX, SNAME, FMOD, V) \ + STACK_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + STACK_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ + STACK_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PRIVATE *******************************************************************/ #define STACK_GENERATE_HEADER_PRIVATE(PFX, SNAME, FMOD, K, V) \ - STACK_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + STACK_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define STACK_GENERATE_SOURCE_PRIVATE(PFX, SNAME, FMOD, K, V) \ - STACK_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - STACK_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + STACK_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + STACK_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PUBLIC ********************************************************************/ #define STACK_GENERATE_HEADER_PUBLIC(PFX, SNAME, FMOD, K, V) \ - STACK_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - STACK_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + STACK_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + STACK_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define STACK_GENERATE_SOURCE_PUBLIC(PFX, SNAME, FMOD, K, V) \ - STACK_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + STACK_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* STRUCT ********************************************************************/ -#define STACK_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - \ - struct SNAME##_s \ - { \ - V *buffer; \ - size_t capacity; \ - size_t count; \ - }; \ - \ - struct SNAME##_iter_s \ - { \ - struct SNAME##_s *target; \ - size_t cursor; \ - bool start; \ - bool end; \ - }; \ - \ +#define STACK_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + \ + struct SNAME##_s \ + { \ + V *buffer; \ + size_t capacity; \ + size_t count; \ + }; \ + \ + struct SNAME##_iter_s \ + { \ + struct SNAME##_s *target; \ + size_t cursor; \ + bool start; \ + bool end; \ + }; \ + \ /* HEADER ********************************************************************/ -#define STACK_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ +#define STACK_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ \ typedef struct SNAME##_s SNAME; \ typedef struct SNAME##_iter_s SNAME##_iter; \ @@ -81,7 +81,7 @@ FMOD bool PFX##_iter_prev(SNAME##_iter *iter, V *result, size_t *index); \ \ /* SOURCE ********************************************************************/ -#define STACK_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) \ +#define STACK_GENERATE_SOURCE(PFX, SNAME, FMOD, V) \ \ FMOD bool PFX##_grow(SNAME *_stack_); \ \ diff --git a/src/treeset.h b/src/treeset.h index dbbb2b6..f1e5cdb 100644 --- a/src/treeset.h +++ b/src/treeset.h @@ -18,55 +18,55 @@ #include #include -#define TREESET_GENERATE(PFX, SNAME, FMOD, K, V) \ - TREESET_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - TREESET_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ - TREESET_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) +#define TREESET_GENERATE(PFX, SNAME, FMOD, V) \ + TREESET_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + TREESET_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ + TREESET_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PRIVATE *******************************************************************/ #define TREESET_GENERATE_HEADER_PRIVATE(PFX, SNAME, FMOD, K, V) \ - TREESET_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + TREESET_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define TREESET_GENERATE_SOURCE_PRIVATE(PFX, SNAME, FMOD, K, V) \ - TREESET_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - TREESET_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + TREESET_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + TREESET_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* PUBLIC ********************************************************************/ #define TREESET_GENERATE_HEADER_PUBLIC(PFX, SNAME, FMOD, K, V) \ - TREESET_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - TREESET_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) + TREESET_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + TREESET_GENERATE_HEADER(PFX, SNAME, FMOD, V) #define TREESET_GENERATE_SOURCE_PUBLIC(PFX, SNAME, FMOD, K, V) \ - TREESET_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) + TREESET_GENERATE_SOURCE(PFX, SNAME, FMOD, V) /* STRUCT ********************************************************************/ -#define TREESET_GENERATE_STRUCT(PFX, SNAME, FMOD, K, V) \ - \ - struct SNAME##_s \ - { \ - struct SNAME##_node_s *root; \ - size_t count; \ - int (*cmp)(V, V); \ - }; \ - \ - struct SNAME##_node_s \ - { \ - struct SNAME##_node_s *right; \ - struct SNAME##_node_s *left; \ - struct SNAME##_node_s *parent; \ - unsigned char height; \ - V key; \ - }; \ - \ - struct SNAME##_iter_s \ - { \ - struct SNAME##_s *target; \ - struct SNAME##_node_s *cursor; \ - struct SNAME##_node_s *first; \ - struct SNAME##_node_s *last; \ - size_t index; \ - bool start; \ - bool end; \ - }; \ - \ +#define TREESET_GENERATE_STRUCT(PFX, SNAME, FMOD, V) \ + \ + struct SNAME##_s \ + { \ + struct SNAME##_node_s *root; \ + size_t count; \ + int (*cmp)(V, V); \ + }; \ + \ + struct SNAME##_node_s \ + { \ + struct SNAME##_node_s *right; \ + struct SNAME##_node_s *left; \ + struct SNAME##_node_s *parent; \ + unsigned char height; \ + V key; \ + }; \ + \ + struct SNAME##_iter_s \ + { \ + struct SNAME##_s *target; \ + struct SNAME##_node_s *cursor; \ + struct SNAME##_node_s *first; \ + struct SNAME##_node_s *last; \ + size_t index; \ + bool start; \ + bool end; \ + }; \ + \ /* HEADER ********************************************************************/ -#define TREESET_GENERATE_HEADER(PFX, SNAME, FMOD, K, V) \ +#define TREESET_GENERATE_HEADER(PFX, SNAME, FMOD, V) \ \ typedef struct SNAME##_s SNAME; \ typedef struct SNAME##_node_s SNAME##_node; \ @@ -97,7 +97,7 @@ FMOD bool PFX##_iter_prev(SNAME##_iter *iter, V *result, size_t *index); \ \ /* SOURCE ********************************************************************/ -#define TREESET_GENERATE_SOURCE(PFX, SNAME, FMOD, K, V) \ +#define TREESET_GENERATE_SOURCE(PFX, SNAME, FMOD, V) \ \ FMOD SNAME##_node *PFX##_new_node(V element); \ FMOD SNAME##_node *PFX##_get_node(SNAME *_set_, V element); \ diff --git a/tests/iterators/deque.c b/tests/iterators/deque.c index 67382fa..c2d122b 100644 --- a/tests/iterators/deque.c +++ b/tests/iterators/deque.c @@ -6,7 +6,7 @@ #include #include "../../src/deque.h" -DEQUE_GENERATE(d, deque, static, , int) +DEQUE_GENERATE(d, deque, static, int) int main(int argc, char const *argv[]) { diff --git a/tests/iterators/hashset.c b/tests/iterators/hashset.c index 55b4928..d1b9b5c 100644 --- a/tests/iterators/hashset.c +++ b/tests/iterators/hashset.c @@ -6,7 +6,7 @@ #include #include "../../src/hashset.h" -HASHSET_GENERATE(hs, hash_set, static, , int) +HASHSET_GENERATE(hs, hash_set, static, int) size_t inthash(int t) { diff --git a/tests/iterators/heap.c b/tests/iterators/heap.c index d97587b..e3e3d33 100644 --- a/tests/iterators/heap.c +++ b/tests/iterators/heap.c @@ -11,7 +11,7 @@ int intcmp(int a, int b) return a - b; } -HEAP_GENERATE(h, heap, static, , int) +HEAP_GENERATE(h, heap, static, int) int main(int argc, char const *argv[]) { diff --git a/tests/iterators/linkedlist.c b/tests/iterators/linkedlist.c index d06dee7..e80ed49 100644 --- a/tests/iterators/linkedlist.c +++ b/tests/iterators/linkedlist.c @@ -6,7 +6,7 @@ #include #include "../../src/linkedlist.h" -LINKEDLIST_GENERATE(ll, linked, static, , int) +LINKEDLIST_GENERATE(ll, linked, static, int) int main(int argc, char const *argv[]) { diff --git a/tests/iterators/list.c b/tests/iterators/list.c index b0fce87..1b5846a 100644 --- a/tests/iterators/list.c +++ b/tests/iterators/list.c @@ -6,7 +6,7 @@ #include #include "../../src/list.h" -LIST_GENERATE(l, list, static, , int) +LIST_GENERATE(l, list, static, int) int main(int argc, char const *argv[]) { diff --git a/tests/iterators/queue.c b/tests/iterators/queue.c index fa4fdca..3bb0b65 100644 --- a/tests/iterators/queue.c +++ b/tests/iterators/queue.c @@ -6,7 +6,7 @@ #include #include "../../src/queue.h" -QUEUE_GENERATE(q, queue, static, , int) +QUEUE_GENERATE(q, queue, static, int) int main(int argc, char const *argv[]) { diff --git a/tests/iterators/stack.c b/tests/iterators/stack.c index 5a45059..03b8115 100644 --- a/tests/iterators/stack.c +++ b/tests/iterators/stack.c @@ -6,7 +6,7 @@ #include #include "../../src/stack.h" -STACK_GENERATE(s, stack, static, , int) +STACK_GENERATE(s, stack, static, int) int main(int argc, char const *argv[]) { diff --git a/tests/iterators/treeset.c b/tests/iterators/treeset.c index 226cba7..b26a9e9 100644 --- a/tests/iterators/treeset.c +++ b/tests/iterators/treeset.c @@ -11,7 +11,7 @@ int intcmp(int a, int b) return a - b; } -TREESET_GENERATE(ts, tset, static, , int) +TREESET_GENERATE(ts, tset, static, int) int main(int argc, char const *argv[]) {