From: Brendan Hansen Date: Mon, 11 Oct 2021 04:29:25 +0000 (-0500) Subject: made map and set functions able to be 'methods' X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=3e2e8572916e0955bf8d591d25d3595fc92e14c3;p=onyx.git made map and set functions able to be 'methods' --- 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));