13 #ifndef MITKGETCLASSHIERARCHY_H 14 #define MITKGETCLASSHIERARCHY_H 32 template <const
char *(*)()>
37 static Small Test(SFINAE<&U::GetStaticNameOfClass> *);
44 value =
sizeof(Test<T>(
nullptr)) ==
sizeof(Small)
48 template <
typename T,
bool>
51 static std::string
value() {
return typeid(T).name(); }
57 static std::string
value() {
return T::GetStaticNameOfClass(); }
70 static Small Test(
typename U::Superclass *);
77 value =
sizeof(Test<T>(
nullptr)) ==
sizeof(Small)
81 template <
typename T,
bool>
90 typedef typename T::Superclass
value;
99 return std::vector<std::string>();
111 template <
typename T>
114 std::vector<std::string> result;
117 result.push_back(name);
118 std::vector<std::string> superHierarchy =
119 GetClassHierarchy<typename GetSuperclassType<T, HasTypeSuperclass<T>::value>::value>();
120 result.insert(result.end(), superHierarchy.begin(), superHierarchy.end());
125 #endif // MITKGETCLASSHIERARCHY_H
DataCollection - Class to facilitate loading/accessing structured data.
static std::string value()
std::vector< std::string > GetClassHierarchy< void >()
static std::string value()
std::vector< std::string > GetClassHierarchy()