summaryrefslogtreecommitdiff
path: root/src/mcpp-text.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mcpp-text.h')
-rw-r--r--src/mcpp-text.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/mcpp-text.h b/src/mcpp-text.h
new file mode 100644
index 0000000..dce651c
--- /dev/null
+++ b/src/mcpp-text.h
@@ -0,0 +1,27 @@
+#ifndef __MCPU_CPP_TEXT_H__
+#define __MCPU_CPP_TEXT_H__ 1
+
+#include <defs.h>
+
+typedef struct mcpu_text mcpu_text;
+struct mcpu_text
+{
+ __mpu_char16_t *data;
+ size_t length;
+ size_t capacity;
+};
+
+void mcpu_text_init( mcpu_text *text );
+void mcpu_text_free( mcpu_text *text );
+int mcpu_text_reserve( mcpu_text *text, size_t need );
+int mcpu_text_append( mcpu_text *text,
+ const __mpu_char16_t *data, size_t length );
+int mcpu_text_append_char( mcpu_text *text, __mpu_char16_t ch );
+int mcpu_text_append_ascii( mcpu_text *text, const char *s );
+int mcpu_text_append_utf8( mcpu_text *text, const char *s );
+int mcpu_text_from_utf8( mcpu_text *text, const char *s );
+char *mcpu_text_to_utf8( const __mpu_char16_t *data, size_t length );
+int mcpu_text_equal_ascii( const __mpu_char16_t *data,
+ size_t length, const char *s );
+
+#endif /* __MCPU_CPP_TEXT_H__ */