projects
/
onyx.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5a9ac7d
)
added get_ptr to set
author
Brendan Hansen
<brendan.f.hansen@gmail.com>
Sun, 24 Apr 2022 00:17:54 +0000
(19:17 -0500)
committer
Brendan Hansen
<brendan.f.hansen@gmail.com>
Sun, 24 Apr 2022 00:17:54 +0000
(19:17 -0500)
core/container/set.onyx
patch
|
blob
|
history
diff --git
a/core/container/set.onyx
b/core/container/set.onyx
index b181a887bb1c50377a2e86ffb15c4472f1cf2990..bd69c6c0a8f7a21304aefd6734fff1b01ed71feb 100644
(file)
--- 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;