|
@@ -31,10 +31,6 @@
|
|
|
SCDARRAY_EXPANDER(SCDARRAY_CLEAR_NO_RESIZE, type, type_name, clear_no_resize) \
|
|
SCDARRAY_EXPANDER(SCDARRAY_CLEAR_NO_RESIZE, type, type_name, clear_no_resize) \
|
|
|
SCDARRAY_EXPANDER(SCDARRAY_CLEAR, type, type_name, clear)
|
|
SCDARRAY_EXPANDER(SCDARRAY_CLEAR, type, type_name, clear)
|
|
|
|
|
|
|
|
-#define SCDARRAY_HEADER(type, type_name) \
|
|
|
|
|
- SCDARRAY_STRUCT(type, type_name) \
|
|
|
|
|
- SCDARRAY_SIGS(type, type_name)
|
|
|
|
|
-
|
|
|
|
|
#define SCDARRAY_SIGS(type, type_name) \
|
|
#define SCDARRAY_SIGS(type, type_name) \
|
|
|
SCDARRAY_EXPANDER(SCDARRAY_ALLOC_SIG, type, type_name, alloc); \
|
|
SCDARRAY_EXPANDER(SCDARRAY_ALLOC_SIG, type, type_name, alloc); \
|
|
|
SCDARRAY_EXPANDER(SCDARRAY_FREE_SIG, type, type_name, free); \
|
|
SCDARRAY_EXPANDER(SCDARRAY_FREE_SIG, type, type_name, free); \
|
|
@@ -47,6 +43,10 @@
|
|
|
SCDARRAY_EXPANDER(SCDARRAY_CLEAR_NO_RESIZE_SIG, type, type_name, clear_no_resize); \
|
|
SCDARRAY_EXPANDER(SCDARRAY_CLEAR_NO_RESIZE_SIG, type, type_name, clear_no_resize); \
|
|
|
SCDARRAY_EXPANDER(SCDARRAY_CLEAR_SIG, type, type_name, clear);
|
|
SCDARRAY_EXPANDER(SCDARRAY_CLEAR_SIG, type, type_name, clear);
|
|
|
|
|
|
|
|
|
|
+#define SCDARRAY_HEADER(type, type_name) \
|
|
|
|
|
+ SCDARRAY_STRUCT(type, type_name) \
|
|
|
|
|
+ SCDARRAY_SIGS(type, type_name)
|
|
|
|
|
+
|
|
|
// SCDARRAY_ALLOC_SIG(type, SCDArray_##type_name, SCDArray_##type_name##_alloc);
|
|
// SCDARRAY_ALLOC_SIG(type, SCDArray_##type_name, SCDArray_##type_name##_alloc);
|
|
|
// SCDARRAY_PUSH_BACK_SIG(type, SCDArray_##type_name, SCDArray_##type_name##_push_back);
|
|
// SCDARRAY_PUSH_BACK_SIG(type, SCDArray_##type_name, SCDArray_##type_name##_push_back);
|
|
|
|
|
|
|
@@ -61,6 +61,12 @@
|
|
|
|
|
|
|
|
#define SCDARRAY_ALLOC_SIG(type, type_name, func_name) ScufContResult func_name(type_name *const darr)
|
|
#define SCDARRAY_ALLOC_SIG(type, type_name, func_name) ScufContResult func_name(type_name *const darr)
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ @fn SCDArray_alloc
|
|
|
|
|
+
|
|
|
|
|
+ @return SCUFCONT_OUT_OF_MEMORY
|
|
|
|
|
+ @return SCUFCONT_SUCCESS
|
|
|
|
|
+*/
|
|
|
#define SCDARRAY_ALLOC(type, type_name, func_name) \
|
|
#define SCDARRAY_ALLOC(type, type_name, func_name) \
|
|
|
SCDARRAY_ALLOC_SIG(type, type_name, func_name) { \
|
|
SCDARRAY_ALLOC_SIG(type, type_name, func_name) { \
|
|
|
darr->data = (type *) calloc(1, sizeof(type)); \
|
|
darr->data = (type *) calloc(1, sizeof(type)); \
|
|
@@ -90,6 +96,12 @@
|
|
|
|
|
|
|
|
#define SCDARRAY_PUSH_BACK_SIG(type, type_name, func_name) ScufContResult func_name(type_name *const darr, const type *const new_elem)
|
|
#define SCDARRAY_PUSH_BACK_SIG(type, type_name, func_name) ScufContResult func_name(type_name *const darr, const type *const new_elem)
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ @fn SCDArray_push_back
|
|
|
|
|
+
|
|
|
|
|
+ @return SCUFCONT_OUT_OF_MEMORY
|
|
|
|
|
+ @return SCUFCONT_SUCCESS
|
|
|
|
|
+*/
|
|
|
#define SCDARRAY_PUSH_BACK(type, type_name, func_name) \
|
|
#define SCDARRAY_PUSH_BACK(type, type_name, func_name) \
|
|
|
SCDARRAY_PUSH_BACK_SIG(type, type_name, func_name) { \
|
|
SCDARRAY_PUSH_BACK_SIG(type, type_name, func_name) { \
|
|
|
if (darr->len + 1 > darr->capacity) { \
|
|
if (darr->len + 1 > darr->capacity) { \
|
|
@@ -106,6 +118,12 @@
|
|
|
|
|
|
|
|
#define SCDARRAY_PUSH_BACK_MULTIPLE_SIG(type, type_name, func_name) ScufContResult func_name(type_name *const darr, const type *const new_elems, const size_t new_elems_n)
|
|
#define SCDARRAY_PUSH_BACK_MULTIPLE_SIG(type, type_name, func_name) ScufContResult func_name(type_name *const darr, const type *const new_elems, const size_t new_elems_n)
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ @fn SCDArray_push_back_multiple
|
|
|
|
|
+
|
|
|
|
|
+ @return SCUFCONT_OUT_OF_MEMORY
|
|
|
|
|
+ @return SCUFCONT_SUCCESS
|
|
|
|
|
+*/
|
|
|
#define SCDARRAY_PUSH_BACK_MULTIPLE(type, type_name, func_name) \
|
|
#define SCDARRAY_PUSH_BACK_MULTIPLE(type, type_name, func_name) \
|
|
|
SCDARRAY_PUSH_BACK_MULTIPLE_SIG(type, type_name, func_name) { \
|
|
SCDARRAY_PUSH_BACK_MULTIPLE_SIG(type, type_name, func_name) { \
|
|
|
if (darr->len + new_elems_n > darr->capacity) { \
|
|
if (darr->len + new_elems_n > darr->capacity) { \
|