aboutsummaryrefslogtreecommitdiffstats
path: root/src/string_view.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/string_view.c')
-rw-r--r--src/string_view.c49
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
3char
4sv_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
14void
15sv_rewind(StringView *sv) {
16 if (sv->start == 0) {
17 return;
18 }
19 sv->start--;
20 sv->n++;
21}
22
23char
24sv_peek(const StringView *sv) {
25 if (sv->n == 0) {
26 return '\0';
27 }
28 return sv->start[0];
29}
30
31bool
32sv_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
44void
45sv_write(const StringView *sv) {
46 for (size_t i = 0; i < sv->n; i++) {
47 putchar(sv->start[i]);
48 }
49}