Forwarding varadic function arguments

Nicholas Wilson via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Mar 3 18:01:53 PST 2016


On Friday, 4 March 2016 at 01:13:37 UTC, Ali Çehreli wrote:
> On 03/03/2016 04:50 PM, Nicholas Wilson wrote:
> > [...]
>
> I think so. Also noting that C-style varargs can only work with 
> fundamental types (Am I correct there? I am carrying this 
> assumption from C++.), you may be happier with a 
> template-parameter solution:
>
> import std.stdio;
>
> File f;
>
> static this() {
>     f = File("hello_world.txt", "w");
> }
>
>
> //f is a File*
> void fwrite(int line = __LINE__, Args...)(Args args)
> {
>         f.write("/*",line,"*/ ");
>         f.write(args);
> }
>
> void main() {
>     fwrite("1 ","2\t","3\n");
> }
>
> Ali

The template works great.
Thanks!


More information about the Digitalmars-d-learn mailing list