New abstraction: Layout

Basile B. b2.temp at gmx.com
Wed Feb 21 05:53:31 UTC 2018


On Saturday, 17 February 2018 at 00:04:16 UTC, 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

how does this deal with static members ?


More information about the Digitalmars-d mailing list