serdeIgnoreInIfAggregate.serdeIgnoreIfAggregate

Attributes to conditional ignore field during serialization and deserialization.

The attribute should be combined with serdeRealOrderedIn applied on the aggregate.

The predicate should be aplied to the aggregate value, not to the member.

struct serdeIgnoreInIfAggregate(alias pred)
struct serdeIgnoreIfAggregate (
alias pred
) {}

Members

Aliases

serdeDeserializationFinalDeepProxyMemberTypesRecurse
alias serdeDeserializationFinalDeepProxyMemberTypesRecurse(T) = serdeDeserializationFinalDeepProxyMemberTypesRecurseImpl!(serdeGetFinalDeepProxy!T)

Deserialization members final deep proxy types (recursive)

serdeDeserializationFinalProxyMemberTypesRecurse
alias serdeDeserializationFinalProxyMemberTypesRecurse(T) = serdeDeserializationFinalProxyMemberTypesRecurseImpl!(serdeGetFinalProxy!T)

Deserialization members final proxy types (recursive)

serdeGetIgnoreIfAggregate
alias serdeGetIgnoreIfAggregate(alias symbol) = naryFun!(TemplateArgsOf!(getUDA!(symbol, serdeIgnoreIfAggregate))[0])
serdeGetTransformIn
alias serdeGetTransformIn(alias value) = naryFun!(TemplateArgsOf!(getUDA!(value, serdeTransformIn))[0])
serdeGetTransformOut
alias serdeGetTransformOut(alias value) = naryFun!(TemplateArgsOf!(getUDA!(value, serdeTransformOut))[0])
serdeSerializationFinalDeepProxyMemberTypesRecurse
alias serdeSerializationFinalDeepProxyMemberTypesRecurse(T) = serdeSerializationFinalDeepProxyMemberTypesRecurseImpl!(serdeGetFinalDeepProxy!T)

Serialization members final deep proxy types (recursive)

Enums

serdeAllowMultiple
enum serdeAllowMultiple

Attribute that allow deserializer to don't throw an exception that the field matches multiple keys in the object.

serdeAlphabetOut
enum serdeAlphabetOut

UDA used to force serializer to output members in the alphabetical order of their output keys.

serdeFlexible
enum serdeFlexible

Allows to use flexible deserialization rules such as conversion from input string to numeric types.

serdeFromDummyByUser
enum serdeFromDummyByUser

UDA used to force deserializer to skip the member final deserialization. A user should finalize the member deserialize using the dummy object provided in serdeFinalizeWithDummy(ref SerdeOrderedDummy!(typeof(this)) dummy) struct method and dummy method serdeFinalizeTargetMember.

serdeIgnoreCase
enum serdeIgnoreCase

Ignore keys for object and enum members. Should be applied to members or enum type itself.

serdeLikeList
enum serdeLikeList

Allows serialize / deserialize fields like arrays.

serdeLikeStruct
enum serdeLikeStruct

Allows serialize / deserialize fields like objects.

serdeOptional
enum serdeOptional

Attribute that allow deserializer to do not throw an exception if the field hasn't been not found in the input.

serdeOrderedIn
enum serdeOrderedIn

UDA used to force deserializer to initilize members in the order of their definition in the target object/structure.

serdeRealOrderedIn
enum serdeRealOrderedIn

UDA used to force deserializer to initilize members in the order of their definition in the target object/structure.

serdeRequired
enum serdeRequired

Attribute that force deserializer to throw an exception that the field hasn't been not found in the input.

serdeScoped
enum serdeScoped

Can be applied only to strings fields. Does not allocate new data when deserializeing. Raw data is used for strings instead of new memory allocation. Use this attributes only for strings or arrays that would not be used after deallocation.

Functions

hasSerdeIgnoreCase
bool hasSerdeIgnoreCase(T value)
serdeParseEnum
bool serdeParseEnum(char[] str, E res)
sortUniqKeys
string[] sortUniqKeys(string[] keys)
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

SerdeFlags
struct SerdeFlags(T)

A dummy structure passed to .serdeFinalizeWithFlags finalizer method.

SerdeOrderedDummy
struct SerdeOrderedDummy(T, bool __optionalByDefault = false)

A dummy structure usefull serdeOrderedIn support.

serdeTransformIn
struct serdeTransformIn(alias fun)

Attributes for in transformation. Return type of in transformation must be implicitly convertable to the type of the field. In transformation would be applied after serialization proxy if any.

serdeTransformOut
struct serdeTransformOut(alias fun)

Attributes for out transformation. Return type of out transformation may be differ from the type of the field. Out transformation would be applied before serialization proxy if any.

Templates

deserializeValueMemberImpl
template deserializeValueMemberImpl(alias deserializeValue, alias deserializeScoped)
Undocumented in source.
getAlgebraicAnnotationsOfVariant
template getAlgebraicAnnotationsOfVariant(T)
Undocumented in source.
isAlgebraicAliasThis
template isAlgebraicAliasThis(T)
Undocumented in source.
serdeDeserializationFinalDeepProxyMemberTypes
template serdeDeserializationFinalDeepProxyMemberTypes(T)

Deserialization members final deep proxy types

serdeDeserializationFinalProxyMemberTypes
template serdeDeserializationFinalProxyMemberTypes(T)

Deserialization members final proxy types

serdeDeserializationMemberType
template serdeDeserializationMemberType(T, string member)
template serdeDeserializationMemberType(T)

Deserialization member type

serdeFinalDeepProxyDeserializableMembers
template serdeFinalDeepProxyDeserializableMembers(T)

Final deep proxy type serializable members

serdeFinalDeepProxySerializableMembers
template serdeFinalDeepProxySerializableMembers(T)

Final deep proxy type serializable members

serdeFinalDeserializationMemberType
template serdeFinalDeserializationMemberType(T, string member)
template serdeFinalDeserializationMemberType(T)

Deserialization member final proxy type

serdeFinalProxyDeserializableMembers
template serdeFinalProxyDeserializableMembers(T)

Final proxy type deserializable members

serdeFinalProxySerializableMembers
template serdeFinalProxySerializableMembers(T)

Final proxy type deserializable members

serdeFinalSerializationMemberType
template serdeFinalSerializationMemberType(T, string member)
template serdeFinalSerializationMemberType(T)

Serialization member final proxy type

serdeGetDeserializationKeysRecurse
template serdeGetDeserializationKeysRecurse(T)

Deserialization members final proxy keys (recursive)

serdeGetFinalDeepProxy
template serdeGetFinalDeepProxy(T)

Final deep proxy type

serdeGetFinalProxy
template serdeGetFinalProxy(T)

Final proxy type

serdeGetSerializationKeysRecurse
template serdeGetSerializationKeysRecurse(T)

Serialization members final proxy keys (recursive)

serdeIsComplexVariant
template serdeIsComplexVariant(T)
Undocumented in source.
serdeIsDeserializable
template serdeIsDeserializable(T)

Is deserializable member

serdeIsSerializable
template serdeIsSerializable(T)

Is deserializable member

serdeSerializationFinalDeepProxyMemberTypes
template serdeSerializationFinalDeepProxyMemberTypes(T)

Serialization members final deep proxy types

serdeSerializationFinalProxyMemberTypes
template serdeSerializationFinalProxyMemberTypes(T)

Serialization members final proxy types

serdeSerializationMemberType
template serdeSerializationMemberType(T, string member)
template serdeSerializationMemberType(T)

Serialization member type

See Also

Meta