X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDCoupling%2FMEDCouplingTraits.hxx;h=313e2db710d1440284229ac621ef21de1ec86b33;hb=e7a9d4f59978fd384ee98db1dfdd5ec2118331ca;hp=262328e7173231b72e27a2c9f118e443f53d1039;hpb=8c9ecbe43d32cbea0d0b9ce867144df3f3061abd;p=tools%2Fmedcoupling.git diff --git a/src/MEDCoupling/MEDCouplingTraits.hxx b/src/MEDCoupling/MEDCouplingTraits.hxx index 262328e71..313e2db71 100644 --- a/src/MEDCoupling/MEDCouplingTraits.hxx +++ b/src/MEDCoupling/MEDCouplingTraits.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2016 CEA/DEN, EDF R&D +// Copyright (C) 2016-2020 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -18,26 +18,38 @@ // // Author : Anthony Geay (EDF R&D) -#ifndef __MEDCOUPLINGTRAITS_HXX__ -#define __MEDCOUPLINGTRAITS_HXX__ +#pragma once #include "MEDCoupling.hxx" +#include "MCType.hxx" +#include namespace MEDCoupling { template struct MEDCOUPLING_EXPORT Traits { - typedef T EltType; + using EltType = T; }; - class DataArrayInt; + class DataArrayInt32; class DataArrayFloat; class DataArrayDouble; class DataArrayChar; class DataArrayByte; + class DataArrayInt64; class MEDCouplingFieldDouble; - class MEDCouplingFieldInt; + class MEDCouplingFieldFloat; + class MEDCouplingFieldInt32; + class MEDCouplingFieldInt64; + class DataArrayInt32Tuple; + class DataArrayInt64Tuple; + class DataArrayFloatTuple; + class DataArrayDoubleTuple; + class DataArrayByteTuple; + class DataArrayInt32Iterator; + class DataArrayInt64Iterator; + class DataArrayByteIterator; template<> struct MEDCOUPLING_EXPORT Traits @@ -45,9 +57,11 @@ namespace MEDCoupling static const char ArrayTypeName[]; static const char FieldTypeName[]; static const char NPYStr[]; - typedef DataArrayDouble ArrayType; - typedef DataArrayDouble ArrayTypeCh; - typedef MEDCouplingFieldDouble FieldType; + static const char ReprStr[]; + using ArrayType = DataArrayDouble; + using ArrayTypeCh = DataArrayDouble; + using FieldType = MEDCouplingFieldDouble; + using ArrayTuple = DataArrayDoubleTuple; }; template<> @@ -56,28 +70,50 @@ namespace MEDCoupling static const char ArrayTypeName[]; static const char FieldTypeName[]; static const char NPYStr[]; - typedef DataArrayFloat ArrayType; - typedef DataArrayFloat ArrayTypeCh; - //typedef MEDCouplingFieldFloat FieldType; + static const char ReprStr[]; + using ArrayType = DataArrayFloat; + using ArrayTypeCh = DataArrayFloat; + using FieldType = MEDCouplingFieldFloat; + using ArrayTuple = DataArrayFloatTuple; }; template<> - struct MEDCOUPLING_EXPORT Traits + struct MEDCOUPLING_EXPORT Traits { static const char ArrayTypeName[]; static const char FieldTypeName[]; - typedef DataArrayInt ArrayType; - typedef DataArrayInt ArrayTypeCh; - typedef MEDCouplingFieldInt FieldType; + static const char NPYStr[]; + static const char ReprStr[]; + static const char VTKReprStr[]; + using ArrayType = DataArrayInt32; + using ArrayTypeCh = DataArrayInt32; + using FieldType = MEDCouplingFieldInt32; + using ArrayTuple = DataArrayInt32Tuple; + using IteratorType = DataArrayInt32Iterator; + }; + + template<> + struct MEDCOUPLING_EXPORT Traits + { + static const char ArrayTypeName[]; + static const char FieldTypeName[]; + static const char NPYStr[]; + static const char ReprStr[]; + static const char VTKReprStr[]; + using ArrayType = DataArrayInt64; + using ArrayTypeCh = DataArrayInt64; + using FieldType = MEDCouplingFieldInt64; + using ArrayTuple = DataArrayInt64Tuple; + using IteratorType = DataArrayInt64Iterator; }; template<> struct MEDCOUPLING_EXPORT Traits { static const char ArrayTypeName[]; - typedef DataArrayByte ArrayTypeCh; - typedef DataArrayChar ArrayType; + using ArrayTypeCh = DataArrayByte; + using ArrayType = DataArrayChar; + using ArrayTuple = DataArrayByteTuple; + using IteratorType = DataArrayByteIterator; }; } - -#endif