digitalmars.D.learn - __FILE__ and __LINE__ 'forwarding'
- Lionello Lunesu (10/10) Sep 22 2006 #void test(int i=__LINE__) { printf("%i",i);}
- Lutger (7/20) Sep 22 2006 Indeed, this would be nice if possible. For the function name, I think
- Juan Jose Comellas (3/16) Sep 22 2006 This feature would be great to have, especially when throwing Exceptions...
#void test(int i=__LINE__) { printf("%i",i);} #void main() { 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.
Sep 22 2006
Lionello Lunesu wrote:#void test(int i=__LINE__) { printf("%i",i);} #void main() { 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."
Sep 22 2006
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() { 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.
Sep 22 2006