__FILE__ and __LINE__ 'forwarding'
Lutger
lutger.blijdestijn at gmail.com
Fri Sep 22 07:19:58 PDT 2006
Lionello Lunesu wrote:
> #void test(int i=__LINE__) { printf("%i",i);}
> #void main() {
> # test(); // prints 1
> #}
>
> It would be really handy if the __LINE__ default parameter value would
> be evaluated at the line containing the call. This way we can mimic
> those C logging macros.
>
> Is there currently any way to do this without writing __LINE__, __FUNC__
> on every call?
>
> L.
Indeed, this would be nice if possible. For the function name, I think
this can be done with Don Clugston's meta library, meta.nameof should do
the trick:
"Given any D symbol (class, template, function, module name, or
non-local variable) or any D type, convert it to a compile-time string
literal, optionally containing the fully qualified and decorated name."
More information about the Digitalmars-d-learn
mailing list