Salome HOME
Merge branch 'master' of ssh://git.salome-platform.org/tools/medcoupling
[tools/medcoupling.git] / src / MEDCoupling / MEDCouplingTraits.hxx
index c4b7ed7fdbd224bfa0bf728f2631d819475dd8f5..5a22379bf02963c97dd236326f8a67821c66fe4a 100644 (file)
 #ifndef __MEDCOUPLINGTRAITS_HXX__
 #define __MEDCOUPLINGTRAITS_HXX__
 
+#include "MEDCoupling.hxx"
+
 namespace MEDCoupling
 {
   template<class T>
-  struct Traits
+  struct MEDCOUPLING_EXPORT Traits
   {
     typedef T EltType;
   };
@@ -32,25 +34,35 @@ namespace MEDCoupling
   class DataArrayInt;
   class DataArrayDouble;
   class DataArrayChar;
+  class DataArrayByte;
+  class MEDCouplingFieldDouble;
+  class MEDCouplingFieldInt;
   
   template<>
-  struct Traits<double>
+  struct MEDCOUPLING_EXPORT Traits<double>
   {
     static const char ArrayTypeName[];
+    static const char FieldTypeName[];
     typedef DataArrayDouble ArrayType;
+    typedef DataArrayDouble ArrayTypeCh;
+    typedef MEDCouplingFieldDouble FieldType;
   };
   
   template<>
-  struct Traits<int>
+  struct MEDCOUPLING_EXPORT Traits<int>
   {
     static const char ArrayTypeName[];
+    static const char FieldTypeName[];
     typedef DataArrayInt ArrayType;
+    typedef DataArrayInt ArrayTypeCh;
+    typedef MEDCouplingFieldInt FieldType;
   };
 
   template<>
-  struct Traits<char>
+  struct MEDCOUPLING_EXPORT Traits<char>
   {
     static const char ArrayTypeName[];
+    typedef DataArrayByte ArrayTypeCh;
     typedef DataArrayChar ArrayType;
   };
 }