Recommended way to use __FILE__/__LINE__ etc.

H. S. Teoh hsteoh at quickfur.ath.cx
Thu Oct 22 16:03:45 UTC 2020


On Thu, Oct 22, 2020 at 03:32:57PM +0000, Andrey Zherikov via Digitalmars-d-learn wrote:
> There are two ways how __FILE__, __LINE__ etc. can se used in function
> parameters: as regular parameters and as template parameters:
[...]
> What is recommended way?
> What are pros/cons of each case?

I don't know what's the "recommended" way, but generally, I prefer to
pass them as regular parameters. Otherwise you will get a lot of
template bloat: one instantiation per file/line combination.

However, sometimes there is not much choice: if your function is
variadic, then you pretty much have to use template parameters, 'cos
otherwise you won't be able to pick up the __FILE__/__LINE__ of the
caller with default arguments.


T

-- 
Knowledge is that area of ignorance that we arrange and classify. -- Ambrose Bierce


More information about the Digitalmars-d-learn mailing list