Допустим, у меня есть шаблонный класс, зависящий от типа T
. T
может быть почти любым: int
, int *
, pair
или struct lol
; это не может быть недействительным
, ссылкой или чем-то еще с квалификацией cv. Для некоторой оптимизации мне нужно знать, могу ли я создать подкласс T
. Итак, мне понадобится некоторый тип признака is_subclassable
, определенный как логическая комбинация основных признаков или с помощью некоторых уловок SFINAE.
В исходном примере int
и int *
не подклассифицируются, в то время как pair
и struct lol
являются.
EDIT : Как указано ниже, союзы также являются не подклассифицируется, и T
также может быть типом объединения.
Как мне написать тип характеристики, который мне нужен?