The OpenD Programming Language

mir.serde

This implements common de/serialization routines.

Members

Classes

SerdeException
class SerdeException

Serde Exception

SerdeMirException
class SerdeMirException

Serde Exception with formatting support

Enums

SerdeTarget
enum SerdeTarget

Helper enumeration for for serializer . Use negative int values for user defined targets.

serdeAnnotation
enum serdeAnnotation

The attribute can be applied to a string-like member that should be de/serialized as an annotation / attribute.

serdeIgnore
enum serdeIgnore

Attribute to ignore field.

serdeIgnoreDefault
enum serdeIgnoreDefault

Attribute to ignore a field during deserialization when equals to its default value. Do not use it on void initialized fields or aggregates with void initialized fields, recursively.

serdeIgnoreIn
enum serdeIgnoreIn

Attribute to ignore field during deserialization.

serdeIgnoreOut
enum serdeIgnoreOut

Attribute to ignore field during serialization.

serdeIgnoreUnexpectedKeys
enum serdeIgnoreUnexpectedKeys

Attribute used to ignore unexpected keys during an aggregate type deserialization.

serdeRegister
enum serdeRegister

The attribute should be used as a hint for scripting languages to register type deserializer in the type system.

Functions

serdeGetKeyOut
string serdeGetKeyOut(T value)
serdeGetKeysIn
immutable(string)[] serdeGetKeysIn(T value)

Structs

serdeAlgebraicAnnotation
struct serdeAlgebraicAnnotation

An annotation / attribute for algebraic types deserialization.

serdeKeyOut
struct serdeKeyOut

Attribute for key overloading during serialization.

serdeKeys
struct serdeKeys

Attribute for key overloading during Serialization and Deserialization. The first argument overloads the key value during serialization unless serdeKeyOut is given.

serdeProxy
struct serdeProxy(T)

Serialization proxy.

Templates

SerdeAnnotated
template SerdeAnnotated(T, string annotation)

Constructs annotated type.

isAnnotated
template isAnnotated(T)

Checks if the type marked with serdeAnnotation.

serdeDynamicAlgebraic
template serdeDynamicAlgebraic(alias getAlgebraicDeserializerByAnnotation)

User defined attribute used to attach a function that returns a deserialization delegate.

serdeGetAlgebraicAnnotation
template serdeGetAlgebraicAnnotation(T)
serdeGetAlgebraicDeserializer
template serdeGetAlgebraicDeserializer(T)
serdeGetAnnotationMembersIn
template serdeGetAnnotationMembersIn(T)
serdeGetAnnotationMembersOut
template serdeGetAnnotationMembersOut(T)
serdeGetKeyOut
template serdeGetKeyOut(alias symbol)
template serdeGetKeyOut(T, string member)
serdeGetKeysIn
template serdeGetKeysIn(alias symbol)
serdeHasAlgebraicAnnotation
template serdeHasAlgebraicAnnotation(T)
serdeIsDynamicAlgebraic
template serdeIsDynamicAlgebraic(T)

Meta

Authors

Ilia Ki