serdeIgnoreIfAggregate.serdeDeserializationFinalDeepProxyMemberTypes

Deserialization members final deep proxy types

Members

Aliases

A
alias A = typeof(__traits(getMember, aggregate, __traits(getAliasThis, T)))
Undocumented in source.
serdeDeserializationFinalDeepProxyMemberTypes
alias serdeDeserializationFinalDeepProxyMemberTypes = .serdeDeserializationFinalDeepProxyMemberTypes!A
Undocumented in source.
serdeDeserializationFinalDeepProxyMemberTypes
alias serdeDeserializationFinalDeepProxyMemberTypes = NoDuplicates!(T, staticMap!(serdeGetFinalDeepProxy, T.AllowedTypes))
Undocumented in source.
serdeDeserializationFinalDeepProxyMemberTypes
alias serdeDeserializationFinalDeepProxyMemberTypes = NoDuplicates!(staticMap!(serdeGetFinalDeepProxy, staticMap!(serdeFinalDeserializationMemberType!T, aliasSeqOf!(serdeFinalDeepProxyDeserializableMembers!T))))
Undocumented in source.

Variables

aggregate
T* aggregate;
Undocumented in source.

Examples

static struct A {}

@serdeProxy!(A[])
static struct B {}

enum R {a, b, c}

@serdeProxy!(B[R])
static struct C {}

@serdeProxy!(B[string])
static struct E {}

static struct D
{
    C c;

    @serdeProxy!E
    int d;
}

import std.meta: AliasSeq;
static assert (is(serdeDeserializationFinalDeepProxyMemberTypes!D == AliasSeq!A), serdeDeserializationFinalDeepProxyMemberTypes!D);

Meta