Re: Metaprogramming: check for ref

2012-10-03 Thread mist
On Sunday, 30 September 2012 at 21:34:36 UTC, Andrej Mitrovic wrote: On 9/30/12, jerro wrote: I think this should work: template returnsRef(alias f) { enum bool returnsRef = is(typeof( { ParameterTypeTuple!f param; auto ptr = &f(param); })); } Yep. We should

Re: Metaprogramming: check for ref

2012-09-30 Thread mist
Thanks! On Sunday, 30 September 2012 at 21:20:40 UTC, jerro wrote: On Sunday, 30 September 2012 at 20:51:54 UTC, mist wrote: Thanks! Unfortunately, return type issue is more important in my case. I'll check if implementation from ParameterStorageClassTuple can be adapted for return types thou

Re: Metaprogramming: check for ref

2012-09-30 Thread Andrej Mitrovic
On 9/30/12, jerro wrote: > I think this should work: > > template returnsRef(alias f) > { > enum bool returnsRef = is(typeof( > { > ParameterTypeTuple!f param; > auto ptr = &f(param); > })); > } Yep. We should add this to Phobos imo.

Re: Metaprogramming: check for ref

2012-09-30 Thread jerro
On Sunday, 30 September 2012 at 20:51:54 UTC, mist wrote: Thanks! Unfortunately, return type issue is more important in my case. I'll check if implementation from ParameterStorageClassTuple can be adapted for return types though. I think this should work: template returnsRef(alias f) { e

Re: Metaprogramming: check for ref

2012-09-30 Thread mist
Thanks! Unfortunately, return type issue is more important in my case. I'll check if implementation from ParameterStorageClassTuple can be adapted for return types though. On Sunday, 30 September 2012 at 20:37:14 UTC, Andrej Mitrovic wrote: On 9/30/12, mist wrote: How can I: 1) check if fu

Re: Metaprogramming: check for ref

2012-09-30 Thread Andrej Mitrovic
On 9/30/12, mist wrote: > How can I: > 1) check if function returns by ref > 2) check if function parameters are ref > ..outside of function body. Is parsing typeof(func).stringof only > valid option? > See ParameterStorageClassTuple in std.traits http://dlang.org/phobos/std_traits.html I'm not

Metaprogramming: check for ref

2012-09-30 Thread mist
How can I: 1) check if function returns by ref 2) check if function parameters are ref ..outside of function body. Is parsing typeof(func).stringof only valid option?