// Using my_conditional instead of std:conditional, via a programmed syntactial embellishment Conditional. #include #include #include "conditional-def.cc" // Conditional is a syntactial embellishment of the underlying conditional template: template using Conditional = typename my_conditional::type; int main() { using namespace std; using A = Conditional; // select int using B = Conditional; // select float using C = Conditional::value,long,int>; // select long - because type A is int using D = Conditional::value,long,int>; // select int - because B is float // ... return 0; }