13#ifndef FC__STRING_VECTOR_H
14#define FC__STRING_VECTOR_H
41 int (*
cmp_func) (
const char *,
const char *))
79#define strvec_iterate(psv, str) \
83 for (_id = 0; _id < strvec_size((psv)); _id++) { \
84 str = strvec_get((psv), _id);
86#define strvec_iterate_end \
static gint cmp_func(gconstpointer a_p, gconstpointer b_p)
bool strvec_index_valid(const struct strvec *psv, size_t svindex) fc__attribute((nonnull(1)))
void strvec_destroy(struct strvec *psv)
void strvec_to_str(const struct strvec *psv, char separator, char *buf, size_t buf_len)
const char * strvec_to_and_list(const struct strvec *psv, struct astring *astr) fc__attribute((nonnull(1)))
size_t strvec_size(const struct strvec *psv) fc__attribute((nonnull(1)))
void strvec_append(struct strvec *psv, const char *string) fc__attribute((nonnull(1)))
bool are_strvecs_equal(const struct strvec *stv1, const struct strvec *stv2) fc__attribute((nonnull(1
const char * strvec_get(const struct strvec *psv, size_t svindex) fc__attribute((nonnull(1)))
bool strvec_set(struct strvec *psv, size_t svindex, const char *string)
const char * strvec_to_or_list(const struct strvec *psv, struct astring *astr) fc__attribute((nonnull(1)))
void strvec_reserve(struct strvec *psv, size_t reserve) fc__attribute((nonnull(1)))
void strvec_prepend(struct strvec *psv, const char *string) fc__attribute((nonnull(1)))
void strvec_remove_empty(struct strvec *psv) fc__attribute((nonnull(1)))
void strvec_insert(struct strvec *psv, size_t svindex, const char *string) fc__attribute((nonnull(1)))
void strvec_clear(struct strvec *psv) fc__attribute((nonnull(1)))
void void strvec_from_str(struct strvec *psv, char separator, const char *str) fc__attribute((nonnull(1)))
struct strvec * strvec_new(void)
void strvec_store(struct strvec *psv, const char *const *vec, size_t size) fc__attribute((nonnull(1
void strvec_copy(struct strvec *dest, const struct strvec *src) fc__attribute((nonnull(1
void void strvec_sort(struct strvec *psv, int(*sort_func)(const char *const *, const char *const *)) fc__attribute((nonnull(1)))
bool strvec_remove(struct strvec *psv, size_t svindex)
bool const char *const * strvec_data(const struct strvec *psv) fc__attribute((nonnull(1)))
void strvec_remove_duplicate(struct strvec *psv, int(*cmp_func)(const char *, const char *)) fc__attribute((nonnull(1)))