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