aboutsummaryrefslogtreecommitdiff
path: root/code/lib/vector.felan
diff options
context:
space:
mode:
Diffstat (limited to 'code/lib/vector.felan')
-rw-r--r--code/lib/vector.felan16
1 files changed, 16 insertions, 0 deletions
diff --git a/code/lib/vector.felan b/code/lib/vector.felan
index 6ad1991..a33d386 100644
--- a/code/lib/vector.felan
+++ b/code/lib/vector.felan
@@ -17,6 +17,22 @@ vector_new :: (comptime t:type) -> (vector(t)) {
return v;
};
+__get_item__ :: (left:vector(anytype),index:i64) -> (@type_of(left.ptr.*)) {
+ return (left.ptr + index).*;
+};
+
+__set_item__ :: (left:vector(anytype),index:i64,item:@type_of(left.ptr.*)) -> (@type_of(left.ptr.*)) {
+ return (left.ptr + index).* = item;
+};
+
+__get_item_address__ :: (left:vector(anytype),index:i64) -> (@type_of(left.ptr)) {
+ return (left.ptr + index);
+};
+
+push_back :: (vec:vector(anytype),value:@type_of(vec.ptr.*)) -> void {
+ @putc('h');
+};
+
delete :: (vec:vector(anytype)) -> void {
free(vec.ptr);
};