X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDCoupling%2FMEDCouplingTraits.hxx;h=313e2db710d1440284229ac621ef21de1ec86b33;hb=e7a9d4f59978fd384ee98db1dfdd5ec2118331ca;hp=b01a9534717b72baac66ae641f2ddbb43b4f1669;hpb=a79173de1d3906e40ae6ec2185c339fd485084af;p=tools%2Fmedcoupling.git diff --git a/src/MEDCoupling/MEDCouplingTraits.hxx b/src/MEDCoupling/MEDCouplingTraits.hxx index b01a95347..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,49 +18,102 @@ // // 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 { static const char ArrayTypeName[]; static const char FieldTypeName[]; - typedef DataArrayDouble ArrayType; - typedef MEDCouplingFieldDouble FieldType; + static const char NPYStr[]; + static const char ReprStr[]; + using ArrayType = DataArrayDouble; + using ArrayTypeCh = DataArrayDouble; + using FieldType = MEDCouplingFieldDouble; + using ArrayTuple = DataArrayDoubleTuple; + }; + + template<> + struct MEDCOUPLING_EXPORT Traits + { + static const char ArrayTypeName[]; + static const char FieldTypeName[]; + static const char NPYStr[]; + 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 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 DataArrayChar ArrayType; + using ArrayTypeCh = DataArrayByte; + using ArrayType = DataArrayChar; + using ArrayTuple = DataArrayByteTuple; + using IteratorType = DataArrayByteIterator; }; } - -#endif