From 59aabd4ed77ff3ede1df368ad134c56a6f8787c0 Mon Sep 17 00:00:00 2001 From: Kyle Gunger Date: Sat, 30 Mar 2024 02:46:04 -0400 Subject: in_csv function --- tnslc/utils/iterator.tnsl | 28 ++++++++++++++++++++++++++++ tnslc/utils/utils.tnsl | 1 + 2 files changed, 29 insertions(+) create mode 100644 tnslc/utils/iterator.tnsl (limited to 'tnslc/utils') diff --git a/tnslc/utils/iterator.tnsl b/tnslc/utils/iterator.tnsl new file mode 100644 index 0000000..b38d71f --- /dev/null +++ b/tnslc/utils/iterator.tnsl @@ -0,0 +1,28 @@ +struct Iterator { + ~Vector v, + int pos +} + +/; method Iterator + /; init(~Vector v) + self.v = v + self.pos = 0 + ;/ + + /; get [~void] + return self.v`.get(self.pos) + ;/ + + /; next + /; if (self.pos + 1 < self.v`.count) + self.pos++ + ;/ + ;/ + + /; prev + /; if (self.pos > 0) + self.pos-- + ;/ + ;/ +;/ + diff --git a/tnslc/utils/utils.tnsl b/tnslc/utils/utils.tnsl index aa7968a..fece1da 100644 --- a/tnslc/utils/utils.tnsl +++ b/tnslc/utils/utils.tnsl @@ -3,4 +3,5 @@ :import "vector.tnsl" :import "file.tnsl" :import "algo.tnsl" + :import "iterator.tnsl" ;/ -- cgit v1.2.3