diff options
Diffstat (limited to 'src/bootstrap/string_view.c')
-rw-r--r-- | src/bootstrap/string_view.c | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/src/bootstrap/string_view.c b/src/bootstrap/string_view.c deleted file mode 100644 index e958a46..0000000 --- a/src/bootstrap/string_view.c +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | typedef struct StringView { | ||
2 | char *start; | ||
3 | size_t n; | ||
4 | } StringView; | ||
5 | |||
6 | void | ||
7 | sv_write(StringView sv) { | ||
8 | for (size_t i = 0; i < sv.n; i++) { | ||
9 | putchar(sv.start[i]); | ||
10 | } | ||
11 | } | ||
12 | |||
13 | bool | ||
14 | sv_equal(StringView a, StringView b) { | ||
15 | if (a.n == b.n) { | ||
16 | for (size_t i = 0; i < a.n; i++) { | ||
17 | if (a.start[i] != b.start[i]) { | ||
18 | return false; | ||
19 | } | ||
20 | } | ||
21 | return true; | ||
22 | } | ||
23 | return false; | ||
24 | } | ||
25 | |||
26 | char | ||
27 | sv_next(StringView *sv) { | ||
28 | if (sv->n == 0) { | ||
29 | return '\0'; | ||
30 | } | ||
31 | char ret = sv->start[0]; | ||
32 | sv->start++; | ||
33 | sv->n--; | ||
34 | return ret; | ||
35 | } | ||
36 | |||
37 | char | ||
38 | sv_peek(const StringView *sv) { | ||
39 | if (sv->n == 0) { | ||
40 | return '\0'; | ||
41 | } | ||
42 | return sv->start[0]; | ||
43 | } | ||