Fast linear search for non-null key in slice of Nullable(T, T.max)
Per Nordlöw
per.nordlow at gmail.com
Sun Sep 16 16:28:20 UTC 2018
If I have
alias N = Nullable!(T, T nullValue)
fed as template parameter to another template how can I
at compile-time get the `nullValue`
?
I need this to implement fast linear search over a slice of type
Nullable!(ulong, ulong.max)[]
searching for a non-null key without needing to call a
combination of Nullable's `isNull` and `get` inside the loop.
Which is significantly slower than knowing the non-null value to
search for. Which also can be implemented using sentinel-based
search.
In my case it would have been convenient to have public access to
Nullable!(T, T nullValue)._value
I need this in a hash table of mine that uses open addressing
that makes use of Nullable to indicate empty slot.
More information about the Digitalmars-d-learn
mailing list