The OpenD Programming Language

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.

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])
alias serdeGetIgnoreIfAggregate(T, string member) = naryFun!(TemplateArgsOf!(getUDA!(T, member, serdeIgnoreIfAggregate))[0])
serdeGetTransformIn
alias serdeGetTransformIn(alias value) = naryFun!(TemplateArgsOf!(getUDA!(value, serdeTransformIn))[0])
alias serdeGetTransformIn(T, string member) = naryFun!(TemplateArgsOf!(getUDA!(T, member, serdeTransformIn))[0])
serdeGetTransformOut
alias serdeGetTransformOut(alias value) = naryFun!(TemplateArgsOf!(getUDA!(value, serdeTransformOut))[0])
alias serdeGetTransformOut(T, string member) = naryFun!(TemplateArgsOf!(getUDA!(T, member, 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.

serdeFallbackStruct
enum serdeFallbackStruct

The attribute is used for algebraic deserialization for types like Variant!(string, S) @serdeFallbackStruct struct S {}

serdeFields
enum serdeFields

Force serialize / deserialize on fields instead of Range API.

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)
auto serdeParseEnum(char[] str)

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.

serdeDiscriminatedField
struct serdeDiscriminatedField

The UDA used on struct or class definitions to denote an discriminated field and its tag for algebraic deserialization.

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.
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)

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