X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDCoupling%2FMEDCouplingTraits.hxx;h=d91e7cba4591893e2a0136856349c804d353e7c3;hb=0ba3453939dda0697b09ed7e728a01d4f33e3ce2;hp=5a22379bf02963c97dd236326f8a67821c66fe4a;hpb=1305be4c87572751c4b90df329f3d37c35e7e9a1;p=tools%2Fmedcoupling.git diff --git a/src/MEDCoupling/MEDCouplingTraits.hxx b/src/MEDCoupling/MEDCouplingTraits.hxx index 5a22379bf..d91e7cba4 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-2023 CEA, EDF // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -18,53 +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 DataArrayDouble ArrayTypeCh; - 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 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