#include <If_Then_Else.h>
This primary template selects the second or third argument based on the value of the boolean first argument.
Usage example:
template <typename T> class Foo { public: // Set "TheType" to be the larger of "T" and "int". typedef typename If_Then_Else<(sizeof (T) > sizeof (int)), T, int>::result_type TheType; };