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