1 2 module dquery.overload; 3 4 import std.typetuple; 5 6 struct DQueryOverload(size_t Arity, ReturnType, ParamTypes...) 7 { 8 9 /++ 10 + Returns the arity of the overload. 11 ++/ 12 @property 13 alias arity = Arity; 14 15 /++ 16 + Returns the return type of the overload. 17 ++/ 18 @property 19 alias returnType = ReturnType; 20 21 /++ 22 + Returns the parameter types of the overload. 23 ++/ 24 @property 25 alias parameters = ParamTypes; 26 27 /++ 28 + Returns an uninitialized value of the overload's type. 29 ++/ 30 @property 31 static auto opCall() 32 { 33 DQueryOverload!(Arity, ReturnType, ParamTypes) overload = void; 34 return overload; 35 } 36 37 }