template<typename T> struct NeedsCollection: Sfinae::Evaluate<CheckCollectionType, T> { };
+/**
+Helper struct to determine whether a type has a Loader class.
+*/
+struct CheckLoader: Sfinae
+{
+ template<typename T>
+ static Yes f(typename T::Loader *);
+ using Sfinae::f;
+};
+
+template<typename T> struct HasLoader: Sfinae::Evaluate<CheckLoader, T> { };
+
} // namespace DataFile
} // namespace Msp