Equivalent of C++ #__VA_ARGS__

2020-08-02 Thread Ronoroa via Digitalmars-d-learn
How do I achieve equivalent semantics of following C++ code? ``` #define dbg(...) std::cout << __LINE__ << #__VA_ARGS__ << " = " << print_func(__VA_ARGS__) << std::endl; ```

Re: Equivalent of C++ #__VA_ARGS__

2020-08-02 Thread Ronoroa via Digitalmars-d-learn
On Sunday, 2 August 2020 at 15:48:34 UTC, Adam D. Ruppe wrote: On Sunday, 2 August 2020 at 15:30:27 UTC, Ronoroa wrote: void dbg(Args...)(Args args, size_t line = __LINE__) { writeln(line, args, " = ", print_func(args)); } That doesn't seem to stringize the args part like in #__VA_ARGS__ I

Re: Equivalent of C++ #__VA_ARGS__

2020-08-02 Thread Ronoroa via Digitalmars-d-learn
On Sunday, 2 August 2020 at 16:31:50 UTC, Adam D. Ruppe wrote: On Sunday, 2 August 2020 at 16:05:07 UTC, Ronoroa wrote: That doesn't seem to stringize the args part like in #__VA_ARGS__ oh yeah i missed that part. D basically can't do that exactly, but if you pass the args as template things