42 lines
1.5 KiB
C
42 lines
1.5 KiB
C
#ifndef INCLUDED_C_STRINGBUFFER_H
|
|
#define INCLUDED_C_STRINGBUFFER_H
|
|
|
|
#ifndef INCLUDED_C_BASE_H
|
|
#include <c_Base.h>
|
|
#endif /*INCLUDED_C_BASE_H*/
|
|
|
|
|
|
/* ------------------------------------------------------------------------------------------------------------------ */
|
|
/* */
|
|
|
|
typedef struct {
|
|
char* buffer;
|
|
c_size_t capacity;
|
|
c_size_t size;
|
|
}c_StringBuffer_t;
|
|
|
|
/* ------------------------------------------------------------------------------------------------------------------ */
|
|
/* */
|
|
|
|
c_err_t c_StringBuffer_Init(c_StringBuffer_t* self, c_size_t capacity);
|
|
|
|
void c_StringBuffer_Destroy(c_StringBuffer_t* self);
|
|
|
|
c_err_t c_StringBuffer_Append(c_StringBuffer_t* self, const char* string, c_size_t length);
|
|
|
|
c_err_t c_StringBuffer_Prepend(c_StringBuffer_t* self, const char* string, c_size_t length);
|
|
|
|
c_err_t c_StringBuffer_InsertAt(c_StringBuffer_t* self, c_size_t index, const char* string, c_size_t length);
|
|
|
|
c_err_t c_StringBuffer_RemoveAt(c_StringBuffer_t* self, c_size_t index, c_size_t length);
|
|
|
|
void c_StringBuffer_Clear(c_StringBuffer_t* self);
|
|
|
|
c_err_t c_StringBuffer_AppendStr(c_StringBuffer_t* self, const char* string);
|
|
c_err_t c_StringBuffer_PrependStr(c_StringBuffer_t* self, const char* string);
|
|
c_err_t c_StringBuffer_InsertStrAt(c_StringBuffer_t* self, const char* string, c_size_t index);
|
|
|
|
c_err_t c_StringBuffer_CopyTo(c_StringBuffer_t* self, c_size_t index, c_size_t length, char* buffer, c_size_t buffer_length);
|
|
|
|
#endif /*INCLUDED_C_STRINGBUFFER_H*/
|