diff options
Diffstat (limited to 'prism/util/pm_string_list.h')
-rw-r--r-- | prism/util/pm_string_list.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/prism/util/pm_string_list.h b/prism/util/pm_string_list.h new file mode 100644 index 0000000000..0d406cc5d8 --- /dev/null +++ b/prism/util/pm_string_list.h @@ -0,0 +1,44 @@ +/** + * @file pm_string_list.h + * + * A list of strings. + */ +#ifndef PRISM_STRING_LIST_H +#define PRISM_STRING_LIST_H + +#include "prism/defines.h" +#include "prism/util/pm_string.h" + +#include <stddef.h> +#include <stdlib.h> + +/** + * A list of strings. + */ +typedef struct { + /** The length of the string list. */ + size_t length; + + /** The capacity of the string list that has been allocated. */ + size_t capacity; + + /** A pointer to the start of the string list. */ + pm_string_t *strings; +} pm_string_list_t; + +/** + * Append a pm_string_t to the given string list. + * + * @param string_list The string list to append to. + * @param string The string to append. + */ +void pm_string_list_append(pm_string_list_t *string_list, pm_string_t *string); + +/** + * Free the memory associated with the string list. + * + * @param string_list The string list to free. + */ +PRISM_EXPORTED_FUNCTION void pm_string_list_free(pm_string_list_t *string_list); + +#endif |