假设我有一些模板类,具体取决于类型T
. T
可能是几乎所有的东西:int
,int*
,pair <int, int>
或struct lol
; 它不能void
,参考或任何cv资格但是.对于某些优化,我需要知道我是否可以继承T
.所以,我需要一些特质类型is_subclassable
,确定为基本特征的逻辑组合或通过一些SFINAE技巧.
在原始示例中,int
并且int*
不是子类,pair <int, int>
而且struct lol
是.
编辑:正如下面指出的litb,工会也不是可子类化的,T
也可以是联合类型.
如何编写我需要的特征类型?