#define VECTOR_TYPE(NAME,ETYPE,REALLOC) \
\
struct NAME { \
+ /** @brief Pointer to elements */ \
ETYPE *vec; \
- int nvec, nslots; \
+ /** @brief Number of elements */ \
+ int nvec; \
+ /** @brief Number of slots */ \
+ int nslots; \
}; \
\
static inline void NAME##_init(struct NAME *v) { \
VECTOR_TYPE(dynstr, char, xrealloc_noptr);
/** @brief A dynamic unicode string */
VECTOR_TYPE(dynstr_ucs4, uint32_t, xrealloc_noptr);
+/** @brief A dynamic array of pointers to unicode string */
+VECTOR_TYPE(vector32, uint32_t *, xrealloc);
/** @brief Append many strings to a @ref vector */
void vector_append_many(struct vector *v, char **vec, int nvec);