From: Brendan Hansen Date: Sun, 24 Apr 2022 00:17:54 +0000 (-0500) Subject: added get_ptr to set X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=52f040311fa2c080cfb37b0eced381a7a49b3e08;p=onyx.git added get_ptr to set --- diff --git a/core/container/set.onyx b/core/container/set.onyx index b181a887..bd69c6c0 100644 --- a/core/container/set.onyx +++ b/core/container/set.onyx @@ -31,6 +31,7 @@ Set :: struct (Elem_Type: type_expr) where SetValue(Elem_Type) { free :: free has :: has get :: get + get_ptr :: get_ptr insert :: insert remove :: remove clear :: clear @@ -87,6 +88,11 @@ get :: (use set: ^Set, value: set.Elem_Type) -> set.Elem_Type { return entries[lr.entry_index].value if lr.entry_index >= 0 else __zero_value(T); } +get_ptr :: (use set: ^Set, value: set.Elem_Type) -> ^set.Elem_Type { + lr := lookup(set, value); + return entries[lr.entry_index].value if lr.entry_index >= 0 else null; +} + remove :: (use set: ^Set, value: set.Elem_Type) { lr := lookup(set, value); if lr.entry_index < 0 do return;