Salome HOME
Merge branch 'master' of ssh://git.salome-platform.org/tools/medcoupling
[tools/medcoupling.git] / src / MEDCoupling / MEDCouplingTraits.hxx
index 40034550f09825b56742e443a019b88bbf5a7270..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,31 +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;
   };
 }