T
türüne bağlı olarak biraz sınıra sahip sınıfım olduğunu varsayalım. T
hemen hemen her şey olabilir: int
, int*
, pair <int, int>
veya struct lol
; Bununla birlikte, void
, bir referans veya cv nitelikli olsa da olamaz. Bazı optimizasyon için T
alt sınıfını kullanıp kullanamayacağımı bilmem gerekiyor. Bu nedenle, bazı temel özelliklerin mantıksal bir kombinasyonu olarak veya bazı SFINAE numaraları aracılığıyla belirlenen is_subclassable
özellik türüne ihtiyacım var. pair <int, int>
ve struct lol
ise orijinal örnekte C++ şablonları: bir tür alt sınıflandırma için uygun olup olmadığını belirleme
int
ve
int*
, subclassable değildir.
EDIT: Aşağıda da belirtildiği gibi, sendikalar ayrıca alt sınıf ve T
bir sendika türü olabilir.
İhtiyacım olan özellik türünü nasıl yazarım?
Hmm. [Is_class] (http://msdn.microsoft.com/en-us/library/bb982638.aspx) yeterli olur mu? Emin değil. –