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

serdeRegister
enum serdeRegister

The attribute should be used as a hind 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.

serdeGetAlgebraicAnnotation
template serdeGetAlgebraicAnnotation(T)
serdeGetAnnotationMembersIn
template serdeGetAnnotationMembersIn(T)
serdeGetAnnotationMembersOut
template serdeGetAnnotationMembersOut(T)
serdeGetKeyOut
template serdeGetKeyOut(alias symbol)
serdeGetKeysIn
template serdeGetKeysIn(alias symbol)
serdeHasAlgebraicAnnotation
template serdeHasAlgebraicAnnotation(T)

Meta

License

Apache-2.0

Authors

Ilya Yaroshenko