KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
How can I lazy evaluate second arg in std::conditional? #include "stdafx.h" #include <type_traits> struct Null{}; struct _1{enum {one = true,two = false};}; struct _2{enum {two = true, one = false};}; template<class T> struct is_nulltype { enum {value = false}; }; template<> struct is_nulltype<Null> { enum {value = true}; }; template<class T> struct X : std::conditional<is_nulltype<T>::value,Null,typename std::conditional<T::one,_1,_2>::type>::type { }; int _tmain(int argc, _TCHAR* argv[]) { X<Null> x;//won't compile no Null::one but I don't need that member in Null at all return 0; }
Tags (comma-separated)
Save Edits
Cancel