]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/meta.h
Allow non-loadable types in collections
[libs/datafile.git] / source / meta.h
index ac6ec1be2029e18b0a22c8f692be796687f2e03d..51bc924405d3bdc7861b054801f9f742ec90e226 100644 (file)
@@ -18,6 +18,18 @@ struct CheckCollectionType: Sfinae
 
 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