Template. C++ to D

Namespace via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Mar 11 05:08:27 PDT 2015


import std.stdio;

T foo(T)(auto ref const T val)
{
     return val;
}

T foo(T, Args...)(auto ref const T val, auto ref const Args u)
{
	static if (is(T == string))
     	return val ~ foo(u);
     else
     	return val + foo(u);
}

void main()
{
     writeln(foo("some ", "test")); // prints some test
     writeln(foo(2, 2, 1));		// prints 5
}


More information about the Digitalmars-d-learn mailing list