Function signature as string
John Chapman
johnch_atms at hotmail.com
Thu Nov 29 21:36:40 UTC 2018
On Thursday, 29 November 2018 at 21:31:57 UTC, Neia Neutuladh
wrote:
> On Thu, 29 Nov 2018 21:11:06 +0000, John Chapman wrote:
>> Is there any way to get a string representing a function's
>> exact signature as declared in the source? I can generate it
>> myself using reflection but it might not be 100% verbatim so
>> wanted to know if there's anything built in?
>>
>> foreach (m; __traits(allMembers, T)) {
>> alias member = __traits(getMember, T, m);
>> string signature = // Call some function to get "member"'s
>> signature as a string
>> }
>
> typeof(&func).stringof should do it:
>
> void bar(string s, ref Foo!int i) {}
> void main()
> {
> writeln(typeof(&bar).stringof);
> }
>
> prints: void function(string s, ref Foo!int i)
That does the trick - thanks.
More information about the Digitalmars-d-learn
mailing list