Salome HOME
Fix merge errors post 8.3.0
[tools/medcoupling.git] / src / MEDCoupling / MEDCouplingTraits.hxx
index c4b7ed7fdbd224bfa0bf728f2631d819475dd8f5..ff5debe4c33f3aa38ad9f9268b8a933850f9c5ed 100644 (file)
 #ifndef __MEDCOUPLINGTRAITS_HXX__
 #define __MEDCOUPLINGTRAITS_HXX__
 
+#include "MEDCoupling.hxx"
+#include "MCType.hxx"
+
 namespace MEDCoupling
 {
   template<class T>
-  struct Traits
+  struct MEDCOUPLING_EXPORT Traits
   {
     typedef T EltType;
   };
 
-  class DataArrayInt;
+  class DataArrayInt32;
+  class DataArrayFloat;
   class DataArrayDouble;
   class DataArrayChar;
+  class DataArrayByte;
+  class DataArrayInt64;
+  class MEDCouplingFieldDouble;
+  class MEDCouplingFieldFloat;
+  class MEDCouplingFieldInt;
+  class DataArrayInt32Tuple;
+  class DataArrayFloatTuple;
+  class DataArrayDoubleTuple;
   
   template<>
-  struct Traits<double>
+  struct MEDCOUPLING_EXPORT Traits<double>
   {
     static const char ArrayTypeName[];
+    static const char FieldTypeName[];
+    static const char NPYStr[];
     typedef DataArrayDouble ArrayType;
+    typedef DataArrayDouble ArrayTypeCh;
+    typedef MEDCouplingFieldDouble FieldType;
+    typedef DataArrayDoubleTuple ArrayTuple;
+  };
+
+  template<>
+  struct MEDCOUPLING_EXPORT Traits<float>
+  {
+    static const char ArrayTypeName[];
+    static const char FieldTypeName[];
+    static const char NPYStr[];
+    typedef DataArrayFloat ArrayType;
+    typedef DataArrayFloat ArrayTypeCh;
+    typedef MEDCouplingFieldFloat FieldType;
+    typedef DataArrayFloatTuple ArrayTuple;
   };
   
   template<>
-  struct Traits<int>
+  struct MEDCOUPLING_EXPORT Traits<Int32>
+  {
+    static const char ArrayTypeName[];
+    static const char FieldTypeName[];
+    typedef DataArrayInt32 ArrayType;
+    typedef DataArrayInt32 ArrayTypeCh;
+    typedef MEDCouplingFieldInt FieldType;
+    typedef DataArrayInt32Tuple ArrayTuple;
+  };
+
+  template<>
+  struct MEDCOUPLING_EXPORT Traits<Int64>
   {
     static const char ArrayTypeName[];
-    typedef DataArrayInt ArrayType;
+    static const char FieldTypeName[];
+    static const char NPYStr[];
+    typedef DataArrayInt64 ArrayType;
+    typedef DataArrayInt64 ArrayTypeCh;
+    //typedef MEDCouplingFieldInt64 FieldType;
+    //typedef DataArrayInt64Tuple ArrayTuple;
   };
 
   template<>
-  struct Traits<char>
+  struct MEDCOUPLING_EXPORT Traits<char>
   {
     static const char ArrayTypeName[];
+    typedef DataArrayByte ArrayTypeCh;
     typedef DataArrayChar ArrayType;
   };
 }