On Wednesday, 31 May 2017 at 21:00:43 UTC, Steven Schveighoffer
wrote:
That is my conclusion too. Is your library in a usable state?
Perhaps we should not repeat efforts, though I wasn't planning
on making a robust public library for it :)
After some consideration you can now find the (dynamic) array
implementation here[1].
With regards to (usage) errors: The data structures in libds
allow passing an optional function `attest` via the template
parameter `Hook` (DbI). `attest` is passed the data structure (by
ref, for logging purposes) and a boolean value and must only
return successfully if the value is true; if it is false,
`attest` must throw something (e.g. an Exception), or terminate
the process.
An example of how to use it is here[2].
If no `attest` is passed, the data structures default to throwing
an AssertError.
[1]
https://github.com/Calrama/libds/blob/fbceda333dbf76697050faeb6e25dbfcc9e3fbc0/src/ds/linear/array/dynamic.d
[2]
https://github.com/Calrama/libds/blob/fbceda333dbf76697050faeb6e25dbfcc9e3fbc0/src/ds/tree/heap/binary.d#L381