MEL
Microthread & Execution library
Conversion.h
1 #pragma once
2 #include <mpl/CommonTypes.h>
3 #include <mpl/TypeTraits.h>
4 namespace mel
5 {
6  namespace mpl
7  {
12  template <class T, class U>
13  struct Conversion
14  {
15  private:
16  //TODO revisar. El tema es detectar si es tipo funcion ya que no se puede declarar un statico de ese tipo, por lo que hay que declarar otra cosa que de como resultado que no hay conversion
17  static typename _if<TypeTraits<T>::isFunction,Big,typename TypeTraits<T>::ParameterType>::Result x;
18  static Small Test( U );
19  static Big Test(...);
20  //static T MakeT();
21  public:
22  enum { exists =(sizeof( Test(x) )== sizeof(Small) ) };
23  };
24  }
25 }
Common useful types used in mpl.
Typical Traits for types.
Definition: CommonTypes.h:11
Definition: CommonTypes.h:10
Definition: Callback_Impl.h:11
Definition: _If.h:16
Definition: Conversion.h:14