Library associative array project v0.0.1
Steven Schveighoffer
schveiguy at gmail.com
Wed May 11 23:32:29 UTC 2022
On 5/11/22 5:41 PM, ikod wrote:
> On Wednesday, 11 May 2022 at 19:15:36 UTC, Steven Schveighoffer wrote:
>
>>> * add some methods returning a copy of the value instead of a pointer
>>> to value
>>
>> I return a reference to the value (via `opIndex`). Can you elaborate
>> on why you would need it to be a copy? What is your API?
>>
>
> Sorry, it is safe to return reference for your implementation, as you
> call `new Entry` on every insert, like standard AA. I keep entries in
> preallocated vector for performance reasons and every `resize` can break
> reference.
>
Ah yes, with a non-gc allocator, it would be important to either ensure
references do not get stale, or to at least identify the pitfalls. Maybe
the "return a copy" version is @safe, whereas the normal opIndex is @system.
That reminds me though! with this, I can experiment with preallocating
(reserve) entries, something that is oft-requested for AA.
-Steve
More information about the Digitalmars-d-announce
mailing list