From 3e2e8572916e0955bf8d591d25d3595fc92e14c3 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sun, 10 Oct 2021 23:29:25 -0500 Subject: [PATCH] made map and set functions able to be 'methods' --- core/container/map.onyx | 9 +++++++++ core/container/set.onyx | 8 ++++++++ tests/i32map.onyx | 2 +- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/core/container/map.onyx b/core/container/map.onyx index f9c15df6..c97d44ad 100644 --- a/core/container/map.onyx +++ b/core/container/map.onyx @@ -23,6 +23,15 @@ Map :: struct (K: type_expr, V: type_expr) { key : K; value : V; } + + has :: (package core.map).has + get :: (package core.map).get + get_ptr :: (package core.map).get_ptr + put :: (package core.map).put + delete :: (package core.map).delete + update :: (package core.map).update + clear :: (package core.map).clear + empty :: (package core.map).empty } make :: ($Key: type_expr, $Value: type_expr, default := __zero_value(Value)) -> Map(Key, Value) { diff --git a/core/container/set.onyx b/core/container/set.onyx index 51ce0cbb..d4fb02bf 100644 --- a/core/container/set.onyx +++ b/core/container/set.onyx @@ -20,6 +20,14 @@ Set :: struct (T: type_expr) { next : i32; value : T; } + + has :: (package core.set).has + get :: (package core.set).get + insert :: (package core.set).insert + remove :: (package core.set).remove + clear :: (package core.set).clear + empty :: (package core.set).empty + iterator :: (package core.set).iterator } make :: ($T: type_expr, default := __zero_value(T)) -> Set(T) { diff --git a/tests/i32map.onyx b/tests/i32map.onyx index a61bc63a..09e62c62 100644 --- a/tests/i32map.onyx +++ b/tests/i32map.onyx @@ -12,7 +12,7 @@ main :: (args: [] cstr) { map.free(^imap); } map.put(^imap, 50, "Hello "); - map.put(^imap, 1234, "World!"); + imap->put(1234, "World!"); println(map.has(^imap, 50)); println(map.has(^imap, 51)); -- 2.25.1