We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
@serdeProxyCast
@serdeEnumProxy
1 parent 1050b3c commit 5818b5aCopy full SHA for 5818b5a
source/mir/serde.d
@@ -13,6 +13,7 @@ module mir.serde;
13
14
import mir.functional: naryFun;
15
import mir.reflection;
16
+import std.meta: AliasSeq;
17
import std.traits: TemplateArgsOf, EnumMembers, hasUDA, isAggregateType;
18
19
version (D_Exceptions)
@@ -653,6 +654,13 @@ version(mir_test) unittest
653
654
+/
655
alias serdeGetProxy(alias symbol) = TemplateArgsOf!(getUDA!(symbol, serdeProxy))[0];
656
657
+/// Can be applied to @serdeProxy types to make (de)serialization use
658
+/// underlying type through casting. Useful for enums.
659
+enum serdeProxyCast;
660
+
661
+/// Equivalent to @serdeProxy!T @serdeProxyCast
662
+alias serdeEnumProxy(T) = AliasSeq!(serdeProxy!T, serdeProxyCast);
663
664
/++
665
Attributes to conditional ignore field during serialization.
666
0 commit comments