const ref template vs non-template
Dan
dbdavidson at yahoo.com
Tue Nov 6 14:04:47 PST 2012
On Tuesday, 6 November 2012 at 18:34:04 UTC, Ali Çehreli wrote:
> Because in the case of cs, T is 'const(S)', matching the
> following two instantiations:
>
> 1) ref const(S) i
> 2) const ref const(S) i
>
> The second line has a redundant const. So, they end up having
> the same signature.
>
> Ali
Oh - that clears it up, thanks. G(T)(ref T i) is really
potentially many functions whereas g(ref S i) is only one and no
conflict. What is the standard approach in the face of templates
to differentiate between const(T) and T?
If templates do you always do something like:
void G(T)(ref T i) if(isMutable!T) { }
void G(T)(const ref T i) { }
Thanks,
Dan
More information about the Digitalmars-d-learn
mailing list