aboutsummaryrefslogtreecommitdiff
path: root/String.h
blob: 16f19908521fdb3f0c6347b806cb3856cb924a10 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef _STRING
#define _STRING

#include "MemoryManager.h"
#include <stdarg.h>

typedef char* String;

String S_new(MemoryManager *mm, const char* str);
String S_newlen(MemoryManager *mm, usize length);
String S_dup(MemoryManager *mm, String s);
String S_vconcat(MemoryManager *mm, va_list args);
String S_concat(MemoryManager *mm, ...);
String S_vprintf(MemoryManager *mm, const char* fmt, va_list args);
String S_printf(MemoryManager *mm, const char* fmt, ...);

usize  S_length(String s);
Result S_append(String *s, const char* str);
Result S_prepend(String *s, const char* str);
usize  S_find(String s, char c);
Result S_free(String s);

#endif /* _STRING */