X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fmeta.h;h=d6ca35935543049d8026b842ecca40785a92ecae;hb=7be37ad97a2fd3494cb5d56badb45997353ff709;hp=923096517dba8132a873de68a79344ab6e2910b1;hpb=ff0d3252cad08280b9c320b3fea5a11c80406c23;p=libs%2Fcore.git diff --git a/source/core/meta.h b/source/core/meta.h index 9230965..d6ca359 100644 --- a/source/core/meta.h +++ b/source/core/meta.h @@ -1,6 +1,8 @@ #ifndef MSP_CORE_META_H_ #define MSP_CORE_META_H_ +#include + namespace Msp { template @@ -41,10 +43,13 @@ struct Sfinae struct Yes { char c[2]; }; struct No { char c; }; - template + template + static No f(...); + + template struct Evaluate { - enum { value = (s==sizeof(Yes)) }; + enum { value = (sizeof(C::template f(0))==sizeof(Yes)) }; }; };