]> git.tdb.fi Git - libs/datafile.git/blob - source/meta.h
Move NeedsCollection into its own header and adjust for new Sfinae struct
[libs/datafile.git] / source / meta.h
1 #ifndef MSP_DATAFILE_META_H_
2 #define MSP_DATAFILE_META_H_
3
4 #include <msp/core/meta.h>
5
6 namespace Msp {
7 namespace DataFile {
8
9 /**
10 Helper struct to determine whether a Loader has a Collection typedef.
11 */
12 struct CheckCollectionType: Sfinae
13 {
14         template<typename T>
15         static Yes f(typename T::Collection *);
16         using Sfinae::f;
17 };
18
19 template<typename T> struct NeedsCollection: Sfinae::Evaluate<CheckCollectionType, T> { };
20
21 } // namespace DataFile
22 } // namespace Msp
23
24 #endif