X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fmeta.h;h=6998c5d1b8a712d69176a556e7c677bb745b9ec2;hb=20c897ece781e18ba54c41fd68e232ce566a938d;hp=d6ca35935543049d8026b842ecca40785a92ecae;hpb=e83bcaa01b98b600171886ff6b06d884385dd0ed;p=libs%2Fcore.git diff --git a/source/core/meta.h b/source/core/meta.h index d6ca359..6998c5d 100644 --- a/source/core/meta.h +++ b/source/core/meta.h @@ -23,6 +23,11 @@ struct RemoveReference { typedef T Type; }; +template +struct RemoveConstReference +{ typedef typename RemoveConst::Type>::Type Type; }; + + template struct EnableIf; @@ -53,6 +58,18 @@ struct Sfinae }; }; + +struct CheckEqualityComparable: Sfinae +{ + static int &v; + template + static Yes f(int (*)[sizeof(reinterpret_cast(v)==reinterpret_cast(v))]); + using Sfinae::f; +}; + +template +struct IsEqualityComparable: Sfinae::Evaluate { }; + } // namespace Msp #endif