diff options
| author | Tyge Løvset <[email protected]> | 2021-09-07 22:14:55 +0200 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2021-09-07 22:14:55 +0200 |
| commit | 89987eee11ad1ef0b5fcbfd5beb3c392e2cb5471 (patch) | |
| tree | a61490ff13b818ad350c60c5b394e41465a85654 /include/stc/forward.h | |
| parent | fc19b966a73793e73a898af4d2974d289fbc555c (diff) | |
| download | STC-modified-89987eee11ad1ef0b5fcbfd5beb3c392e2cb5471.tar.gz STC-modified-89987eee11ad1ef0b5fcbfd5beb3c392e2cb5471.zip | |
Added cstack and cpque (priority queue) + test.
Diffstat (limited to 'include/stc/forward.h')
| -rw-r--r-- | include/stc/forward.h | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/include/stc/forward.h b/include/stc/forward.h index c2ac5e39..78bc9173 100644 --- a/include/stc/forward.h +++ b/include/stc/forward.h @@ -23,6 +23,8 @@ #ifndef STC_FORWARD_H_INCLUDED
#define STC_FORWARD_H_INCLUDED
+#include <stddef.h>
+
#define forward_carray2(TAG, VAL) _c_carray2_types(carray2##TAG, VAL)
#define forward_carray3(TAG, VAL) _c_carray3_types(carray2##TAG, VAL)
#define forward_cdeq(TAG, VAL) _c_cdeq_types(cdeq_##TAG, VAL)
@@ -32,9 +34,9 @@ #define forward_cset(TAG, KEY) _c_chash_types(cset_##TAG, cset, KEY, KEY, c_false, c_true)
#define forward_csset(TAG, KEY) _c_aatree_types(csset_##TAG, KEY, KEY, c_false, c_true)
#define forward_csptr(TAG, VAL) _csptr_types(csptr_##TAG, VAL)
-#define forward_cpque(TAG, ctype) _c_cpque_types(cpque_##TAG, ctype)
-#define forward_cqueue(TAG, ctype) _c_cqueue_types(cqueue_##TAG, ctype)
-#define forward_cstack(TAG, ctype) _c_cstack_types(cstack_##TAG, ctype)
+#define forward_cpque(TAG, VAL) _c_cpque_types(cpque_##TAG, VAL)
+#define forward_cstack(TAG, VAL) _c_cstack_types(cstack_##TAG, VAL)
+//#define forward_cqueue(TAG, VAL) _c_cqueue_types(cqueue_##TAG, VAL)
#define forward_cvec(TAG, VAL) _c_cvec_types(cvec_##TAG, VAL)
#ifndef MAP_SIZE_T
@@ -131,22 +133,20 @@ long* use_count; \
} SELF
-#define _c_cpque_types(SELF, ctype) \
- typedef ctype##_value_t SELF##_value_t; \
- typedef ctype##_rawvalue_t SELF##_rawvalue_t; \
- typedef ctype SELF
-
-#define _c_cqueue_types(SELF, ctype) \
- typedef ctype##_value_t SELF##_value_t; \
- typedef ctype##_rawvalue_t SELF##_rawvalue_t; \
- typedef ctype##_iter_t SELF##_iter_t; \
- typedef struct { ctype rep; size_t size; } SELF
+#define _c_cstack_types(SELF, VAL) \
+ typedef VAL SELF##_value_t; \
+ typedef struct { SELF##_value_t *ref; } SELF##_iter_t; \
+ typedef struct SELF { \
+ SELF##_value_t* data; \
+ size_t size, capacity; \
+ } SELF
-#define _c_cstack_types(SELF, ctype) \
- typedef ctype##_value_t SELF##_value_t; \
- typedef ctype##_rawvalue_t SELF##_rawvalue_t; \
- typedef ctype##_iter_t SELF##_iter_t; \
- typedef ctype SELF
+#define _c_cpque_types(SELF, VAL) \
+ typedef VAL SELF##_value_t; \
+ typedef struct SELF { \
+ SELF##_value_t* data; \
+ size_t size, capacity; \
+ } SELF
#define _c_cvec_types(SELF, VAL) \
typedef VAL SELF##_value_t; \
|
