diff options
| author | Tylo <[email protected]> | 2020-06-05 12:13:45 +0200 |
|---|---|---|
| committer | Tylo <[email protected]> | 2020-06-05 12:13:45 +0200 |
| commit | f04e2ec242daa3cda4c8d09c41b1d2b2c9d9fbe3 (patch) | |
| tree | d6cfe16ebe81a7276e7e27d5fa1bf9f763020a38 /stc/cvector.h | |
| parent | 3ebc1cf7dabf3d733c03f2a6c13046ddfaf032cb (diff) | |
| download | STC-modified-f04e2ec242daa3cda4c8d09c41b1d2b2c9d9fbe3.tar.gz STC-modified-f04e2ec242daa3cda4c8d09c41b1d2b2c9d9fbe3.zip | |
Added siphash to crandom.h and some small enhancements.
Diffstat (limited to 'stc/cvector.h')
| -rw-r--r-- | stc/cvector.h | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/stc/cvector.h b/stc/cvector.h index 27caca6a..292954b1 100644 --- a/stc/cvector.h +++ b/stc/cvector.h @@ -94,8 +94,12 @@ typedef struct { \ Value *item, *end; \
} CVectorIter_##tag, cvector_##tag##_iter_t; \
\
-STC_API cvector_##tag##_iter_t \
-cvector_##tag##_begin(CVector_##tag* vec); \
+static inline cvector_##tag##_iter_t \
+cvector_##tag##_begin(CVector_##tag* vec) { \
+ const size_t n = cvector_size(*vec); \
+ cvector_##tag##_iter_t it = {n ? vec->data : NULL, vec->data + n}; \
+ return it; \
+} \
\
static inline cvector_##tag##_iter_t \
cvector_##tag##_next(cvector_##tag##_iter_t it) { \
@@ -190,15 +194,8 @@ STC_API void \ cvector_##tag##_sort(CVector_##tag* self) { \
size_t len = cvector_size(*self); \
if (len) qsort(self->data, len, sizeof(Value), cvector_##tag##_sortCompare); \
-} \
- \
-STC_API cvector_##tag##_iter_t \
-cvector_##tag##_begin(CVector_##tag* vec) { \
- cvector_##tag##_iter_t it; \
- it.item = vec->data, it.end = it.item + cvector_size(*vec); \
- if (it.item == it.end) it.item = NULL; \
- return it; \
}
+
#else
#define implement_CVector_6(tag, Value, valueDestroy, RawValue, valueCompareRaw, valueGetRaw)
#endif
|
