summaryrefslogtreecommitdiff
path: root/libtnsl/box
diff options
context:
space:
mode:
Diffstat (limited to 'libtnsl/box')
-rw-r--r--libtnsl/box/box.tnsl34
-rw-r--r--libtnsl/box/iterator.tnsl40
-rw-r--r--libtnsl/box/map.tnsl20
-rw-r--r--libtnsl/box/string.tnsl20
-rw-r--r--libtnsl/box/tree.tnsl20
-rw-r--r--libtnsl/box/vector.tnsl20
6 files changed, 154 insertions, 0 deletions
diff --git a/libtnsl/box/box.tnsl b/libtnsl/box/box.tnsl
new file mode 100644
index 0000000..2f270b6
--- /dev/null
+++ b/libtnsl/box/box.tnsl
@@ -0,0 +1,34 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licensed under the CDDL 1.0 and BSD 3-Clause licenses.
+
+ This file may only be used in accordance with one of the two
+ licenses. You should have received a copy of each license with
+ the source code. In the event that you did not recieve a copy
+ of the licenses, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRANTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/
+
+/##
+ module tnsl.box
+ Containers and data management classes
+
+#; export module box
+ /: import
+ "iterator.tnsl"
+ "map.tnsl"
+ "string.tnsl"
+ "tree.tnsl"
+ "vector.tnsl"
+ :/
+;/ \ No newline at end of file
diff --git a/libtnsl/box/iterator.tnsl b/libtnsl/box/iterator.tnsl
new file mode 100644
index 0000000..13b9ef9
--- /dev/null
+++ b/libtnsl/box/iterator.tnsl
@@ -0,0 +1,40 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licensed under the CDDL 1.0 and BSD 3-Clause licenses.
+
+ This file may only be used in accordance with one of the two
+ licenses. You should have received a copy of each license with
+ the source code. In the event that you did not recieve a copy
+ of the licenses, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRANTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/
+
+# Interface for moving through a list
+/; interface ForwardsIterator (type T)
+
+ # Advance to the next element in the list
+ /; next [bool]
+ ;/
+
+ # Get the current element in the list
+ /; current [T]
+ ;/
+;/
+
+# Interface for moving through a list forwards or backwards
+/; interface TwoWayIterator (type T) extends ForwardsIterator(T)
+
+ # Move to the previous element in the list
+ /; prev [bool]
+ ;/
+;/ \ No newline at end of file
diff --git a/libtnsl/box/map.tnsl b/libtnsl/box/map.tnsl
new file mode 100644
index 0000000..d346464
--- /dev/null
+++ b/libtnsl/box/map.tnsl
@@ -0,0 +1,20 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licensed under the CDDL 1.0 and BSD 3-Clause licenses.
+
+ This file may only be used in accordance with one of the two
+ licenses. You should have received a copy of each license with
+ the source code. In the event that you did not recieve a copy
+ of the licenses, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRANTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/ \ No newline at end of file
diff --git a/libtnsl/box/string.tnsl b/libtnsl/box/string.tnsl
new file mode 100644
index 0000000..d346464
--- /dev/null
+++ b/libtnsl/box/string.tnsl
@@ -0,0 +1,20 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licensed under the CDDL 1.0 and BSD 3-Clause licenses.
+
+ This file may only be used in accordance with one of the two
+ licenses. You should have received a copy of each license with
+ the source code. In the event that you did not recieve a copy
+ of the licenses, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRANTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/ \ No newline at end of file
diff --git a/libtnsl/box/tree.tnsl b/libtnsl/box/tree.tnsl
new file mode 100644
index 0000000..d346464
--- /dev/null
+++ b/libtnsl/box/tree.tnsl
@@ -0,0 +1,20 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licensed under the CDDL 1.0 and BSD 3-Clause licenses.
+
+ This file may only be used in accordance with one of the two
+ licenses. You should have received a copy of each license with
+ the source code. In the event that you did not recieve a copy
+ of the licenses, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRANTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/ \ No newline at end of file
diff --git a/libtnsl/box/vector.tnsl b/libtnsl/box/vector.tnsl
new file mode 100644
index 0000000..d346464
--- /dev/null
+++ b/libtnsl/box/vector.tnsl
@@ -0,0 +1,20 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licensed under the CDDL 1.0 and BSD 3-Clause licenses.
+
+ This file may only be used in accordance with one of the two
+ licenses. You should have received a copy of each license with
+ the source code. In the event that you did not recieve a copy
+ of the licenses, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRANTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/ \ No newline at end of file