import std.conv; // represented as the boxed value when serialized static struct Box(T) { T value; } template BoxPol(S) { auto toRepresentation(S s) { return s.value; } S fromRepresentation(typeof(S.init.value) v) { return S(v); } } static assert(isPolicySerializable!(BoxPol, Box!int));
Checks if a given type has a string serialization representation.
A class or struct type is string serializable if it defines a pair of toString/fromString methods. Any class or struct type that has this trait will be serialized by using the return value of it's toString method instead of the original value.