New abstraction: Layout
rikki cattermole
rikki at cattermole.co.nz
Sat Feb 17 03:10:37 UTC 2018
On 17/02/2018 12:04 AM, Andrei Alexandrescu wrote:
> I've been long bothered that the builtin .tupleof and our own
> abstractions Fields and RepresentationTypeTuple in std.traits - all omit
> the essential information of field offsets. That makes types that use
> align() to have the same .tupleof, Fields, and RepresentationTypeTuple
> even though they shouldn't.
>
> The right answer is Layout a tuple of (offset, type) pairs describing
> entirely the memory layout of a type. We need such for memory
> allocation, garbage collection, serialization, and more.
>
> The implementation turned out to be quite compact - 81 lines including a
> compile-time mergesort. Destroy!
>
> https://github.com/dlang/phobos/pull/6192
>
>
> Andrei
Could use the name for the field as well. At the minimum useful for
debugging purposes.
More information about the Digitalmars-d
mailing list