MED fichier
MEDversionedApi3.cxx
Aller à la documentation de ce fichier.
1 /* This file is part of MED.
2  *
3  * COPYRIGHT (C) 1999 - 2016 EDF R&D, CEA/DEN
4  * MED is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * MED is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with MED. If not, see <http://www.gnu.org/licenses/>.
16  */
17 #include "MEDversionedApi3.hxx"
18 
19 
20 extern "C" {
21 #include "med_config.h"
22 }
23 
24 #include "med_versioned.h"
25 #include <med_utils.h>
26 
27 using namespace std;
28 
30 
32 
34  static MED_VERSIONED_API3 obj;
35  return obj;
36 }
37 
39 // SSCRUTE ("initMedVersionedApi3F thing");
40  _f77ApiIsSet=true;
41 }
42 
43 // Le mécanisme de driver permet de faire évoluer la représentation des informations
44 // dans les fichiers MED nouvellement crées en restant
45 // capable de lire/écrire des fichiers MED avec des représentations antérieures.
46 // Cela permet donc une compatibilité ascendante en lecture/écriture des fichiers.
47 //
48 // 1) Les modifications d'implémentations d'une routine qui rendent impossible/incohérent
49 // la lecture d'anciens fichiers avec les nouvelles modifications du modèle interne necessitent
50 // le versionement de la routine dans cette table.
51 //
52 // 2) Les modifications d'implémentations d'une routine qui rendent impossible/incohérent
53 // la lecture de nouveaux fichiers avec les anciennes bibliothèques doivent également faire
54 // l'objet d'un versionement dans cette table et non juste une modification dans les versions existantes.
55 //
56 // Ex : L'implémentation de MEDchampEcr entre 232 et 233 pour l'écriture des champs aux noeuds par maille.
57 // La nouvelle bibliothèque est capable de lire les anciens fichiers qui ne contiennent pas cette fonctionnalité.
58 // Cependant les anciennes bibliothèques ne sont pas capable de relire un fichier produit en 233 même
59 // si l'utilisateur veut ignorer la lecture de tels champs. En effet, MEDnChamp et MEDchampInfo nous indiqueront
60 // la présence de champs qui seront illisible pour l'ancienne implémentation de l'API !
61 //
62 // Ceci permet à la nouvelle bibliothèque (233) qui lit un fichier 232 de se comporter comme la bibliothèque 232
63 // et éviter toute corrompuption du modèle 232.
64 // Dans l'exemple précedent, si cette fonctionnalité n'avait pas eu d'impact sur le comportement
65 // de MEDnChamp et MEDchampInfo en 232, il n'aurait pas été necessaire de versionner cette routine.
66 // La seule protection possible pour les bibliothèques antérieures est de refuser la lecture de fichier MED dont le mineur
67 // est supérieur à celui de la bibliothèque courante. (l'exemple précédent est versionné sur le release au lieu du mineur,
68 // la règle de versionement MED n'a pas été respectée).
69 //
70 // Les routines versionnées dont les numéros n'existent pas dans la version courante de la bibliothèque
71 // n'ont pas étés modifiées depuis la version de la bibliothèque qui correspond à leur numéro de versionement.
72 // Lorsque les routines wrappers (MEDchampEcr pour MEDchampEcr231,MEDchampEcr232,MEDchampEcr233) demandent leur implémentation
73 // à getVersionedApi en fonction de la version avec laquelle le fichier traité à été crée, la première implémentation
74 // dont le numéro de versionement est inférieur ou égal à celui du fichier est renvoyé.
75 // getVersionedApi gère également les ruptures de compatibilité globale de bibliothèques (ex : on ne relit
76 // pas de fichiers < 220 avec les biblioth�ques 2.3.x.
77 // Dans ce mécanisme, il est également necessaire de se protéger d'une lecture de fichier dont le mineur du numéro
78 // de version serait supérieur à celui de la bibliothèque.
79 
80 
81 //
82 // ******** POLITIQUE DE VERSIONEMENT DE LA BIBLIOTHEQUE MED ******
83 //
84 // Le versionement de la bibliothèque MED dans le fichier Makefile.am n'indique rien
85 // sur la compatibilité/incompatibilité descendante.
86 // Seule la capacité des anciens programmes à utiliser cette nouvelle bibliothèque dynamique est indiquée (ce qui
87 // sera toujours le cas avec le système de driver si l'API utilisateur ne change pas (sauf ajout)).
88 // Si l'API utilisateur change, le versionement libtool indique l'incompatibilité des anciens programmes à utiliser
89 // la nouvelle bibliothèque. Le numéro de version majeur de la bibliothèque devrait également être incrémenté.
90 // Si une nouvelle version majeure d'hdf est utilisée et qu'elle est incompatible avec l'ancienne le numéro majeur devrait
91 // être également augmenté.
92 //
93 // Si le numéro de version mineur de la bibliothèque avec laquelle le fichier a été crée est supérieur à celui de la
94 // version de bibliothèque utilisée la bibliothèque doit renvoyer une erreur.
95 //
96 // Ceci implique qu'un ajout dans la table de versionement suppose l'incrément du numéro mineur de
97 // la bibliothèque pour plus de lisiblité par les utilisateurs quand à l'incompatibilité descendante :
98 // Une version de numéro mineur antérieur à celui de la bibliotèque MED courante ne pourra relire un fichier nouvellement
99 // crée par cette nouvelle version. Celà suppose également que les numéros de versions dont seuls la partie
100 // release change ne devrait pas apparaitre dans cette table. Ils correspondent à des corrections de BUG
101 // qui n'entrainent pas une incompatibilité descendante.
102 //
103 // Ceci n'a pas toujours été respecté, ex1: 231, 232, 233
104 // Par contre, ex2: 233 peut relire du 234
105 //
106 //
107 // En résumé le versionement dans MED doit fonctionner de la manière suivante à partir de la 2.3.4 :
108 //
109 // - x.y.z+1 indique qu'il s'agit d'une correction de BUG qui n'engendre pas d'évolution du modèle
110 // ni d'incompatibilité de lecture de fichier avec une bibiothèque x.y.z. Aucune nouvelle routine ne doit apparaître
111 // dans la table de versionement. Les programmes compilés avec medx.y.z peuvent utiliser medx.y.z+1 sans
112 // recompilation. Il y a donc compatibilité ascendante et descendante entre x.y.z et x.y.z+1
113 //
114 // - x.y+1.z indique qu'il s'agit d'une correction de BUG et/ou évolution qui engendre soit une évolution
115 // du modèle interne ou une incohérence avec l'utilisation de l'implémentation medx.y.z pour un fichier x.y+1.z.
116 // L'API de la bibliothèque ne change pas. Le système de driver permet la compatibilité ascendante.
117 // Il n'est pas necessaire de recompiler les programmes pour bénéficier de cette nouvelle version
118 // de la bibliothèque.
119 // Il n'y a pas de compatibilité descendante entre un fichier x.y+1.z et une bibliothèque x.y.z.
120 //
121 // - x+1.y.z indique que l'API MED a changé ou que la version d'HDF utilisée n'est pas compatible
122 // avec celle de x.y.z. La documentation indique si les drivers permettent d'assurer la compatibilité
123 // ascendante. Il n'y a pas de compatibilité descendante avec x.y.z. Les programmes doivent être recompilés
124 // et certainement modifiés pour fonctionner avec x+1.Y.z
125 //
126 
127 
128 // REM : Ce container singleton est complété par les symboles fortran
129 // à l'appel de edfouv(...) dans la partie fortran de la bibliothèque.
130 // La méthode f77ApiIsSet est alors appelée.
131 //
133  MedFuncType>(),
134  _f77ApiIsSet(false)
135 {
136  map<keyType,MedFuncType > &
137  table = ( map<keyType,
138  MedFuncType > & ) *this ;
139 
140  table[ "_MEDequivalenceInfo300" ] = _MEDequivalenceInfo30 ;
141  table[ "_MEDequivalenceInfo236" ] = _MEDequivalenceInfo236 ;
142  table[ "_MEDequivalenceCorrespondenceSize300" ] = _MEDequivalenceCorrespondenceSize30 ;
143  table[ "_MEDequivalenceCorrespondenceSize236" ] = _MEDequivalenceCorrespondenceSize236 ;
144  table[ "_MEDequivalenceCorrespondenceRd300" ] = _MEDequivalenceCorrespondenceRd30 ;
145  table[ "_MEDequivalenceCorrespondenceRd236" ] = _MEDequivalenceCorrespondenceRd236 ;
146  table[ "_MEDequivalenceComputingStepInfo300" ] = _MEDequivalenceComputingStepInfo30 ;
147  table[ "_MEDequivalenceComputingStepInfo236" ] = _MEDequivalenceComputingStepInfo236 ;
148  table[ "_MEDequivalenceCorrespondenceSizeInfo300" ] = _MEDequivalenceCorrespondenceSizeInfo30 ;
149  table[ "_MEDequivalenceCorrespondenceSizeInfo236" ] = _MEDequivalenceCorrespondenceSizeInfo236 ;
150  table[ "_MEDnEquivalence300" ] = _MEDnEquivalence30 ;
151  table[ "_MEDnEquivalence236" ] = _MEDnEquivalence236 ;
152 
153  table[ "_MEDfieldCr300" ] = _MEDfieldCr30 ;
154  table[ "_MEDfieldCr236" ] = _MEDfieldCr30 ;
155  table[ "_MEDfieldCr310" ] = _MEDfieldCr31 ;
156  table[ "_MEDfieldValueAdvancedWr300" ] = _MEDfieldValueAdvancedWr30 ;
157  table[ "_MEDfieldValueAdvancedRd300" ] = _MEDfieldValueAdvancedRd30 ;
158  table[ "_MEDfieldValueAdvancedRd236" ] = _MEDfieldValueAdvancedRd236 ;
159  table[ "_MEDfield23ComputingStepMeshInfo310" ] = _MEDfield23ComputingStepMeshInfo31 ;
160  table[ "_MEDfield23ComputingStepMeshInfo300" ] = _MEDfield23ComputingStepMeshInfo30 ;
161  table[ "_MEDfield23ComputingStepMeshInfo236" ] = _MEDfield23ComputingStepMeshInfo236 ;
162  table[ "_MEDfield23nProfile300" ] = _MEDfield23nProfile30 ;
163  table[ "_MEDfield23nProfile236" ] = _MEDfield23nProfile236 ;
164  table[ "_MEDfield23nValue300" ] = _MEDfield23nValue30 ;
165  table[ "_MEDfield23nValue236" ] = _MEDfield23nValue236 ;
166  table[ "_MEDfieldInfoByName300" ] = _MEDfieldInfoByName30 ;
167  table[ "_MEDfieldInfoByName236" ] = _MEDfieldInfoByName236 ;
168  table[ "_MEDfieldComputingStepInfo310" ] = _MEDfieldComputingStepInfo31 ;
169  table[ "_MEDfieldComputingStepInfo300" ] = _MEDfieldComputingStepInfo30 ;
170  table[ "_MEDfieldComputingStepInfo236" ] = _MEDfieldComputingStepInfo236 ;
171  table[ "_MEDfieldComputingStepMeshInfo300" ] = _MEDfieldComputingStepMeshInfo30 ;
172  table[ "_MEDfieldComputingStepMeshInfo236" ] = _MEDfieldComputingStepMeshInfo236 ;
173  table[ "_MEDfieldnProfile300" ] = _MEDfieldnProfile30 ;
174  table[ "_MEDfieldnProfile236" ] = _MEDfieldnProfile236 ;
175  table[ "_MEDfieldnValue300" ] = _MEDfieldnValue30 ;
176  table[ "_MEDfieldnValue236" ] = _MEDfieldnValue236 ;
177 
178  table[ "_MEDfileCommentRd300" ] = _MEDfileCommentRd30 ;
179  table[ "_MEDfileCommentRd236" ] = _MEDfileCommentRd236 ;
180  table[ "_MEDfileObjectsMount300" ] = _MEDfileObjectsMount30 ;
181  table[ "_MEDfileObjectsMount236" ] = _MEDfileObjectsMount236 ;
182  table[ "_MEDfileObjectsUnmount300" ] = _MEDfileObjectsUnmount30 ;
183  table[ "_MEDfileObjectsUnmount236" ] = _MEDfileObjectsUnmount236 ;
184 
185  table[ "_MEDfilterEntityCr300" ] = _MEDfilterEntityCr30 ;
186  table[ "_MEDfilterEntityCr236" ] = _MEDfilterEntityCr236 ;
187 
188  table[ "_MEDnFamily23Attribute236" ] = _MEDnFamily23Attribute236 ;
189  table[ "_MEDnFamily23Attribute300" ] = _MEDnFamily23Attribute30 ;
190  table[ "_MEDnFamily300" ] = _MEDnFamily30 ;
191  table[ "_MEDnFamily236" ] = _MEDnFamily236 ;
192  table[ "_MEDnFamilyGroup320" ] = _MEDnFamilyGroup32 ;
193  table[ "_MEDnFamilyGroup300" ] = _MEDnFamilyGroup30 ;
194  table[ "_MEDnFamilyGroup236" ] = _MEDnFamilyGroup236 ;
195  table[ "_MEDfamily23Info236" ] = _MEDfamily23Info236 ;
196  table[ "_MEDfamily23Info300" ] = _MEDfamily23Info30 ;
197  table[ "_MEDfamilyCr320" ] = _MEDfamilyCr32 ;
198  table[ "_MEDfamilyCr300" ] = _MEDfamilyCr30 ;
199  table[ "_MEDfamilyInfo320" ] = _MEDfamilyInfo32 ;
200  table[ "_MEDfamilyInfo300" ] = _MEDfamilyInfo30 ;
201 
202 
203  table[ "_MEDlinkRd300" ] = _MEDlinkRd30 ;
204  table[ "_MEDlinkRd236" ] = _MEDlinkRd236 ;
205 
206  table[ "_MEDlocalizationRd300" ] = _MEDlocalizationRd30 ;
207  table[ "_MEDlocalizationRd236" ] = _MEDlocalizationRd236 ;
208  table[ "_MEDlocalizationInfoByName300" ] = _MEDlocalizationInfoByName30 ;
209  table[ "_MEDlocalizationInfoByName236" ] = _MEDlocalizationInfoByName236 ;
210 
211 
212  table[ "_MEDmeshEntityInfo300" ] = _MEDmeshEntityInfo30 ;
213  table[ "_MEDmeshEntityInfo236" ] = _MEDmeshEntityInfo236 ;
214  table[ "_MEDmeshComputationStepInfo300" ] = _MEDmeshComputationStepInfo30 ;
215  table[ "_MEDmeshComputationStepInfo236" ] = _MEDmeshComputationStepInfo236 ;
216  table[ "_MEDmeshGridIndexCoordinateRd300" ] = _MEDmeshGridIndexCoordinateRd30 ;
217  table[ "_MEDmeshGridIndexCoordinateRd236" ] = _MEDmeshGridIndexCoordinateRd236 ;
218  table[ "_MEDmeshInfoByName300" ] = _MEDmeshInfoByName30 ;
219  table[ "_MEDmeshInfoByName236" ] = _MEDmeshInfoByName236 ;
220  table[ "_MEDmeshnAxisByName300" ] = _MEDmeshnAxisByName30 ;
221  table[ "_MEDmeshnAxisByName236" ] = _MEDmeshnAxisByName236 ;
222  table[ "_MEDmeshUniversalNameRd300" ] = _MEDmeshUniversalNameRd30 ;
223  table[ "_MEDmeshUniversalNameRd236" ] = _MEDmeshUniversalNameRd236 ;
224  table[ "_MEDmeshnEntity300" ] = _MEDmeshnEntity30 ;
225  table[ "_MEDmeshnEntity236" ] = _MEDmeshnEntity236 ;
226  table[ "_MEDmeshAdvancedRd300" ] = _MEDmeshAdvancedRd30 ;
227  table[ "_MEDmeshAdvancedRd236" ] = _MEDmeshAdvancedRd236 ;
228 
229  table[ "_MEDparameterInfoByName300" ] = _MEDparameterInfoByName30 ;
230  table[ "_MEDparameterInfoByName236" ] = _MEDparameterInfoByName236 ;
231  table[ "_MEDparameterValueRd300" ] = _MEDparameterValueRd30 ;
232  table[ "_MEDparameterValueRd236" ] = _MEDparameterValueRd236 ;
233 
234  table[ "_MEDprofileRd300" ] = _MEDprofileRd30 ;
235  table[ "_MEDprofileRd236" ] = _MEDprofileRd236 ;
236 
237  table[ "_MEDnSubdomainJoint300" ] = _MEDnSubdomainJoint30 ;
238  table[ "_MEDnSubdomainJoint236" ] = _MEDnSubdomainJoint236 ;
239  table[ "_MEDsubdomainJointInfo300" ] = _MEDsubdomainJointInfo30 ;
240  table[ "_MEDsubdomainJointInfo236" ] = _MEDsubdomainJointInfo236 ;
241  table[ "_MEDsubdomainCorrespondenceSize300" ] = _MEDsubdomainCorrespondenceSize30 ;
242  table[ "_MEDsubdomainCorrespondenceSize236" ] = _MEDsubdomainCorrespondenceSize236 ;
243  table[ "_MEDsubdomainCorrespondenceRd300" ] = _MEDsubdomainCorrespondenceRd30 ;
244  table[ "_MEDsubdomainCorrespondenceRd236" ] = _MEDsubdomainCorrespondenceRd236 ;
245  table[ "_MEDsubdomainComputingStepInfo300" ] = _MEDsubdomainComputingStepInfo30 ;
246  table[ "_MEDsubdomainComputingStepInfo236" ] = _MEDsubdomainComputingStepInfo236 ;
247  table[ "_MEDsubdomainCorrespondenceSizeInfo300" ] = _MEDsubdomainCorrespondenceSizeInfo30 ;
248  table[ "_MEDsubdomainCorrespondenceSizeInfo236" ] = _MEDsubdomainCorrespondenceSizeInfo236 ;
249 
250 
251 
252 }
253 
254 
255 
257 {
258  map<keyType,MedFuncType > &table = (map<keyType, MedFuncType >&)*this ;
259 
260  map<keyType,MedFuncType >::iterator it = table.find( c );
261  if ( it == table.end() ) return (MedFuncType) NULL;
262  return (*it).second;
263 }
264 
265 
266 extern "C" {
267  MedFuncType getVersionedApi3(const char * const keycharpart,
268  const char * const keynumpart) {
269  return MedVersionedApi3[std::string(keycharpart)+std::string(keynumpart)];
270  }
271 
272  void f77Api3IsSet(void * obj) {
273  static_cast<MED_VERSIONED_API3*>(obj)->f77ApiIsSet();
274  }
275 }
MEDC_EXPORT void _MEDmeshnEntity30(int dummy,...)
MEDC_EXPORT void _MEDmeshEntityInfo236(int dummy,...)
MEDC_EXPORT void _MEDmeshInfoByName30(int dummy,...)
MEDC_EXPORT void _MEDparameterInfoByName30(int dummy,...)
MEDC_EXPORT void _MEDlocalizationInfoByName30(int dummy,...)
MEDC_EXPORT void _MEDmeshnEntity236(int dummy,...)
MEDC_EXPORT void _MEDfield23ComputingStepMeshInfo236(int dummy,...)
MEDC_EXPORT void _MEDfield23nValue30(int dummy,...)
MEDC_EXPORT void _MEDfieldComputingStepInfo236(int dummy,...)
MEDC_EXPORT void _MEDsubdomainComputingStepInfo236(int dummy,...)
MEDC_EXPORT void _MEDnFamily236(int dummy,...)
MEDC_EXPORT void _MEDfieldInfoByName236(int dummy,...)
MEDC_EXPORT void _MEDequivalenceInfo236(int dummy,...)
MEDC_EXPORT void _MEDsubdomainComputingStepInfo30(int dummy,...)
MEDC_EXPORT void _MEDfieldInfoByName30(int dummy,...)
MEDC_EXPORT void _MEDfield23ComputingStepMeshInfo30(int dummy,...)
MEDC_EXPORT void _MEDmeshUniversalNameRd30(int dummy,...)
MEDC_EXPORT void _MEDsubdomainCorrespondenceSize30(int dummy,...)
MEDC_EXPORT void _MEDfamily23Info30(int dummy,...)
MEDC_EXPORT void _MEDmeshInfoByName236(int dummy,...)
MEDC_EXPORT void _MEDfieldCr31(int dummy,...)
MEDC_EXPORT void _MEDparameterValueRd236(int dummy,...)
MEDC_EXPORT void _MEDequivalenceCorrespondenceSize30(int dummy,...)
MEDC_EXPORT void _MEDmeshComputationStepInfo236(int dummy,...)
MEDC_EXPORT void _MEDsubdomainJointInfo30(int dummy,...)
MEDC_EXPORT void _MEDlinkRd236(int dummy,...)
MEDC_EXPORT void _MEDfieldComputingStepMeshInfo236(int dummy,...)
MEDC_EXPORT void _MEDnSubdomainJoint30(int dummy,...)
MEDC_EXPORT void _MEDfileObjectsUnmount30(int dummy,...)
MEDC_EXPORT void _MEDnFamilyGroup32(int dummy,...)
MEDC_EXPORT void _MEDfieldValueAdvancedWr30(int dummy,...)
MEDC_EXPORT void _MEDsubdomainCorrespondenceSize236(int dummy,...)
MEDC_EXPORT void _MEDlinkRd30(int dummy,...)
MEDC_EXPORT void _MEDfieldValueAdvancedRd236(int dummy,...)
MEDC_EXPORT void _MEDfieldnValue236(int dummy,...)
MEDC_EXPORT void _MEDfield23nProfile30(int dummy,...)
MEDC_EXPORT void _MEDnFamilyGroup236(int dummy,...)
MEDC_EXPORT void _MEDnSubdomainJoint236(int dummy,...)
void(* MedFuncType)(int,...)
Definition: med_misc.h:29
MEDC_EXPORT void _MEDfamilyCr30(int dummy,...)
MEDC_EXPORT void _MEDfamilyInfo32(int dummy,...)
MEDC_EXPORT void _MEDsubdomainJointInfo236(int dummy,...)
static MED_VERSIONED_API3 & MedVersionedApi3
STL namespace.
MEDC_EXPORT void _MEDmeshGridIndexCoordinateRd236(int dummy,...)
MEDC_EXPORT void _MEDfieldComputingStepInfo30(int dummy,...)
MEDC_EXPORT void _MEDmeshComputationStepInfo30(int dummy,...)
MEDC_EXPORT void _MEDfileCommentRd30(int dummy,...)
MEDC_EXPORT void _MEDsubdomainCorrespondenceSizeInfo236(int dummy,...)
MEDC_EXPORT void _MEDmeshnAxisByName236(int dummy,...)
MEDC_EXPORT void _MEDnFamily30(int dummy,...)
MEDC_EXPORT void _MEDlocalizationInfoByName236(int dummy,...)
MEDC_EXPORT void _MEDnFamilyGroup30(int dummy,...)
MEDC_EXPORT void _MEDfieldComputingStepMeshInfo30(int dummy,...)
unsigned long keyType
MEDC_EXPORT void _MEDfieldnValue30(int dummy,...)
MEDC_EXPORT void _MEDfileObjectsMount236(int dummy,...)
MEDC_EXPORT void _MEDprofileRd236(int dummy,...)
MEDC_EXPORT void _MEDfieldnProfile236(int dummy,...)
MEDC_EXPORT void _MEDmeshnAxisByName30(int dummy,...)
MEDC_EXPORT void _MEDequivalenceInfo30(int dummy,...)
MEDC_EXPORT void _MEDnEquivalence30(int dummy,...)
MEDC_EXPORT void _MEDmeshEntityInfo30(int dummy,...)
MEDC_EXPORT void _MEDfilterEntityCr236(int dummy,...)
MEDC_EXPORT void _MEDfamilyInfo30(int dummy,...)
MEDC_EXPORT void _MEDequivalenceComputingStepInfo30(int dummy,...)
MEDC_EXPORT void _MEDmeshAdvancedRd30(int dummy,...)
MEDC_EXPORT void _MEDparameterInfoByName236(int dummy,...)
void f77Api3IsSet(void *obj)
MEDC_EXPORT void _MEDfield23nValue236(int dummy,...)
MEDC_EXPORT void _MEDfieldValueAdvancedRd30(int dummy,...)
MEDC_EXPORT void _MEDsubdomainCorrespondenceSizeInfo30(int dummy,...)
MEDC_EXPORT void _MEDnFamily23Attribute236(int dummy,...)
MEDC_EXPORT void _MEDprofileRd30(int dummy,...)
MEDC_EXPORT void _MEDsubdomainCorrespondenceRd236(int dummy,...)
MEDC_EXPORT void _MEDnEquivalence236(int dummy,...)
MEDC_EXPORT void _MEDfamilyCr32(int dummy,...)
MEDC_EXPORT void _MEDfieldCr30(int dummy,...)
MEDC_EXPORT void _MEDmeshAdvancedRd236(int dummy,...)
MEDC_EXPORT void _MEDmeshUniversalNameRd236(int dummy,...)
MEDC_EXPORT void _MEDfilterEntityCr30(int dummy,...)
MEDC_EXPORT void _MEDfileObjectsUnmount236(int dummy,...)
MEDC_EXPORT void _MEDfieldComputingStepInfo31(int dummy,...)
MEDC_EXPORT void _MEDfamily23Info236(int dummy,...)
MEDC_EXPORT void _MEDequivalenceComputingStepInfo236(int dummy,...)
MEDC_EXPORT void _MEDequivalenceCorrespondenceRd30(int dummy,...)
MEDC_EXPORT void _MEDequivalenceCorrespondenceSizeInfo236(int dummy,...)
MEDC_EXPORT void _MEDsubdomainCorrespondenceRd30(int dummy,...)
MEDC_EXPORT void _MEDfileObjectsMount30(int dummy,...)
MEDC_EXPORT void _MEDnFamily23Attribute30(int dummy,...)
MEDC_EXPORT void _MEDlocalizationRd30(int dummy,...)
MEDC_EXPORT void _MEDequivalenceCorrespondenceSize236(int dummy,...)
MEDC_EXPORT void _MEDfileCommentRd236(int dummy,...)
MEDC_EXPORT void _MEDfield23nProfile236(int dummy,...)
MEDC_EXPORT void _MEDfieldnProfile30(int dummy,...)
#define false
Definition: libmedimport.c:36
MEDC_EXPORT void _MEDequivalenceCorrespondenceSizeInfo30(int dummy,...)
MedFuncType getVersionedApi3(const char *const keycharpart, const char *const keynumpart)
static MED_VERSIONED_API3 & Instance()
MEDC_EXPORT void _MEDparameterValueRd30(int dummy,...)
MEDC_EXPORT void _MEDfield23ComputingStepMeshInfo31(int dummy,...)
MedFuncType operator[](const keyType &c) const
MEDC_EXPORT void _MEDequivalenceCorrespondenceRd236(int dummy,...)
MEDC_EXPORT void _MEDmeshGridIndexCoordinateRd30(int dummy,...)
MEDC_EXPORT void _MEDlocalizationRd236(int dummy,...)