diff options
Diffstat (limited to 'include/strlist.h')
-rw-r--r-- | include/strlist.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/include/strlist.h b/include/strlist.h new file mode 100644 index 0000000..84019b9 --- /dev/null +++ b/include/strlist.h @@ -0,0 +1,47 @@ +/** + * String array convenience functions + * @file strlist.h + */ +#ifndef SPM_STRLIST_H +#define SPM_STRLIST_H +#include <stdlib.h> +#include "utils.h" +#include "str.h" + +struct StrList { + size_t num_alloc; + size_t num_inuse; + char **data; +}; + +struct StrList *strlist_init(); +void strlist_remove(struct StrList *pStrList, size_t index); +long double strlist_item_as_long_double(struct StrList *pStrList, size_t index); +double strlist_item_as_double(struct StrList *pStrList, size_t index); +float strlist_item_as_float(struct StrList *pStrList, size_t index); +unsigned long long strlist_item_as_ulong_long(struct StrList *pStrList, size_t index); +long long strlist_item_as_long_long(struct StrList *pStrList, size_t index); +unsigned long strlist_item_as_ulong(struct StrList *pStrList, size_t index); +long strlist_item_as_long(struct StrList *pStrList, size_t index); +unsigned int strlist_item_as_uint(struct StrList *pStrList, size_t index); +int strlist_item_as_int(struct StrList *pStrList, size_t index); +unsigned short strlist_item_as_ushort(struct StrList *pStrList, size_t index); +short strlist_item_as_short(struct StrList *pStrList, size_t index); +unsigned char strlist_item_as_uchar(struct StrList *pStrList, size_t index); +char strlist_item_as_char(struct StrList *pStrList, size_t index); +char *strlist_item_as_str(struct StrList *pStrList, size_t index); +char *strlist_item(struct StrList *pStrList, size_t index); +void strlist_set(struct StrList *pStrList, size_t index, char *value); +size_t strlist_count(struct StrList *pStrList); +void strlist_reverse(struct StrList *pStrList); +void strlist_sort(struct StrList *pStrList, unsigned int mode); +int strlist_append_file(struct StrList *pStrList, char *path, ReaderFn *readerFn); +void strlist_append_strlist(struct StrList *pStrList1, struct StrList *pStrList2); +void strlist_append(struct StrList *pStrList, char *str); +void strlist_append_array(struct StrList *pStrList, char **arr); +void strlist_append_tokenize(struct StrList *pStrList, char *str, char *delim); +struct StrList *strlist_copy(struct StrList *pStrList); +int strlist_cmp(struct StrList *a, struct StrList *b); +void strlist_free(struct StrList *pStrList); + +#endif //SPM_STRLIST_H |