Template Struct not_same_type

Struct Documentation

template<typename A, typename B, typename R = void>
struct not_same_type

test to allow specialization only when A!=B

template<typename A, typename B, class Enable = void>
struct myTemp {...};

// specialization when A==B
template<typename T>
struct myTemp<T,T> {...};

// specialization for A is 'int',
// enabler needed to remove ambiguity when B is 'int'.
template<typename B>
struct myTemp<int, B, typename meta::not_same_type<int,B>::type>
{...};

Public Types

typedef R type