Thread overview | |||||
---|---|---|---|---|---|
|
September 22, 2006 __FILE__ and __LINE__ 'forwarding' | ||||
---|---|---|---|---|
| ||||
#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. |
September 22, 2006 Re: __FILE__ and __LINE__ 'forwarding' | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lionello Lunesu | 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."
|
September 23, 2006 Re: __FILE__ and __LINE__ 'forwarding' | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lionello Lunesu | This feature would be great to have, especially when throwing Exceptions in debug mode. Ideally, this should work for __FILE__, __LINE__ and __FUNC__.
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.
|
Copyright © 1999-2021 by the D Language Foundation