#ifndef JSTRING_H #define JSTRING_H #include enum StatusCode { NEW = 1, NORMAL = 2, NEUTRAL = 3, STR_START = 4, STR = 5, STR_END = 6, WORD_START = 7, WORD = 8, WORD_END = 9, }; typedef struct JaggerString { struct JaggerString* next; size_t len_str; size_t size_str; size_t index_str; char* letter; size_t status_str; size_t sep_str; } JaggerString; JaggerString* JaggerString_create(); void JaggerString_destroy(JaggerString* instance); void JaggerString_push(JaggerString* instance, const char* string); void JaggerString_remove(JaggerString* instance, const char* string); const char* JaggerString_get_index(JaggerString* instance, size_t index); const char* JaggerString_get_exact(JaggerString* instance, size_t start, size_t end); const char* JaggerString_get(JaggerString* instance); void JaggerString_replace(JaggerString* instance, size_t index_1, size_t index_2); size_t JaggerString_get_len(JaggerString* instance); size_t JaggerString_get_size(JaggerString* instance, size_t index); size_t JaggerString_get_size_full(JaggerString* instance); size_t JaggerString_get_status(JaggerString* instance); JaggerString* JaggerString_get_new_instance(); #endif // JSTRING_H