On Tuesday, 5 September 2017 at 11:08:57 UTC, Void-995 wrote:
@property mixin(DataList!("firstSublist", MyBinarySubStructAForA, firstSublistMembersCount, firstSublistMembersOffset));
I don't think string mixins are required here. It seems just template is more simple.

T[] getBytesAs(T, alias length, alias offset)()
{
    return (cast(T *)(cast(byte *)(&this) + offset))[0 .. length];
}

struct MyBinaryStructA
{
 ...
alias firstList = getBytesAs!(MyBinarySubStructAForA, firstSublistMembersCount, firstSublistMembersOffset); alias secondList = getBytesAs!(MyBinarySubStructBForA, secondSublistMembersCount, secondSublistMembersOffset);
}

unittest
{
...
MyBinaryStructA *binaryData = cast(MyBinaryStructA *)fileData.ptr;

    auto a = binaryData.firstList;
}

Reply via email to