compile time method check
Simen Kjaeraas
simen.kjaras at gmail.com
Fri Dec 26 13:30:47 PST 2008
On Fri, 26 Dec 2008 20:15:30 +0100, Weed <resume755 at mail.ru> wrote:
> Can I at compile time check whether there is a facility method
> (toString(), for example)?
>
> Today I wrote:
>
> static if ( __traits(isArithmetic, Element) ) {
> ret ~= toString(this[i,j]) ~ "\t";
> } else {
> ret ~= this[i,j].toString ~ "\t";
> }
>
> It works but it is wrong
I believe this works:
static if (is(typeof(this[i,j].toString))) {
ret ~= this[i,j].toString;
} else {
ret ~= toString(this[i,j]);
}
--
Simen
More information about the Digitalmars-d-learn
mailing list