#ifndef STRING_ARRAY_H
#define STRING_ARRAY_H
typedef struct {
unsigned size;
char** strs;
} string_array_t;
string_array_t* string_array_create ();
void string_array_destroy (string_array_t*);
char* string_array_get (string_array_t*, unsigned pos);
unsigned string_array_size (string_array_t*);
int string_array_load (string_array_t*, const char* filename);
int string_array_insert (string_array_t*, const char* str, unsigned pos);
int string_array_append (string_array_t*, const char* entry);
int string_array_remove (string_array_t*, unsigned pos);
int string_array_switch (string_array_t*, unsigned pos1, unsigned pos2);
char* string_array_search (string_array_t*, const char* match);
int string_array_filter (string_array_t*, const char* filter);
int string_array_tok (string_array_t*, char* string, const char* whitespace);
#endif