00001 00008 /***************************************************************************** 00009 ** Ifdefs 00010 *****************************************************************************/ 00011 00012 #ifndef ECL_MPL_IF_HPP_ 00013 #define ECL_MPL_IF_HPP_ 00014 00015 /***************************************************************************** 00016 ** Namespaces 00017 *****************************************************************************/ 00018 00019 namespace ecl { 00020 00034 template <bool Condition, typename T1, typename T2> 00035 struct if_c { 00036 typedef T1 type; 00037 }; 00038 00050 template <typename T1, typename T2> 00051 struct if_c<false,T1,T2> { 00052 typedef T2 type; 00053 }; 00054 00055 } // namespace ecl 00056 00057 #endif /* ECL_MPL_IF_HPP_ */