Arcane  4.2.1.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ArcaneCasePartitioner_axl.h
1/*---------------------------------------------------------------------------*/
2/*---------------------------------------------------------------------------*/
3// #WARNING#: This file has been generated automatically. Do not edit.
4// Axlstar version 1.0
5/*---------------------------------------------------------------------------*/
6/*---------------------------------------------------------------------------*/
7
8#ifndef ARCANE_CASEOPTION_AXLSTAR_ARCANE_ARCANECASEPARTITIONER_H
9#define ARCANE_CASEOPTION_AXLSTAR_ARCANE_ARCANECASEPARTITIONER_H
10
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arcane/utils/String.h"
15
16#include "arcane/CaseOptions.h"
17#include "arcane/CaseOptionsMulti.h"
18#include "arcane/CaseOptionBuildInfo.h"
19#include "arcane/XmlNodeList.h"
20#include "arcane/ItemGroup.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25ARCANE_BEGIN_NAMESPACE
26extern "C++" bool
27_caseOptionConvert(const Arcane::CaseOptionBase&,
28 const Arcane::String&,
29 ItemGroup &);
30ARCANE_END_NAMESPACE
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35ARCANE_BEGIN_NAMESPACE
36
37/*---------------------------------------------------------------------------*/
38/*---------------------------------------------------------------------------*/
39
41class CaseOptionsArcaneCasePartitioner
42{
43public:
44
45 /*-------------------------------------------------------------------------*/
46 /*--------------------------- Complex Options -----------------------------*/
47 /*-------------------------------------------------------------------------*/
48
49 /*-------------------------------------------------------------------------*/
50 /*--------------------------- Non Complex Options -------------------------*/
51 /*-------------------------------------------------------------------------*/
52
53 CaseOptionsArcaneCasePartitioner(Arcane::ICaseOptions* co)
54 : m_case_options(co)
55 , nbCutPart(Arcane::CaseOptionBuildInfo(_configList(),
56 /* name */ "nb-cut-part", _element(),
57 /* default */ "0",
58 /* min-occurs */ 1,
59 /* max-occurs */ 1,
60 /* optional */ false))
61 , library(Arcane::CaseOptionBuildInfo(_configList(),
62 /* name */ "library", _element(),
63 /* default */ "DefaultPartitioner",
64 /* min-occurs */ 1,
65 /* max-occurs */ 1,
66 /* optional */ false))
67 , createCorrespondances(Arcane::CaseOptionBuildInfo(_configList(),
68 /* name */ "create-correspondances", _element(),
69 /* default */ "false",
70 /* min-occurs */ 1,
71 /* max-occurs */ 1,
72 /* optional */ false))
73 , nbGhostLayer(Arcane::CaseOptionBuildInfo(_configList(),
74 /* name */ "nb-ghost-layer", _element(),
75 /* default */ "0",
76 /* min-occurs */ 1,
77 /* max-occurs */ 1,
78 /* optional */ false))
79 , writerServiceName(Arcane::CaseOptionBuildInfo(_configList(),
80 /* name */ "writer-service-name", _element(),
81 /* default */ Arcane::String(),
82 /* min-occurs */ 1,
83 /* max-occurs */ 1,
84 /* optional */ false))
85 , meshFileNamePattern(Arcane::CaseOptionBuildInfo(_configList(),
86 /* name */ "mesh-file-name-pattern", _element(),
87 /* default */ "CPU%05d",
88 /* min-occurs */ 1,
89 /* max-occurs */ 1,
90 /* optional */ false))
91 , constraints(Arcane::CaseOptionBuildInfo(_configList(),
92 /* name */ "constraints", _element(),
93 /* default */ Arcane::String(),
94 /* min-occurs */ 0,
95 /* max-occurs */ -1,
96 /* optional */ false),
97 /* type */ "ItemGroup")
98 {
99
100nbCutPart.addAlternativeNodeName(
101 /* language */ Arcane::String("fr"),
102 /* alternative name */ Arcane::String("nb-partie-decoupees"));
103library.addAlternativeNodeName(
104 /* language */ Arcane::String("fr"),
105 /* alternative name */ Arcane::String("bibliotheque"));
106constraints.addAlternativeNodeName(
107 /* language */ Arcane::String("fr"),
108 /* alternative name */ Arcane::String("indivisible"));
109createCorrespondances.addAlternativeNodeName(
110 /* language */ Arcane::String("fr"),
111 /* alternative name */ Arcane::String("correspondance"));
112nbGhostLayer.addAlternativeNodeName(
113 /* language */ Arcane::String("fr"),
114 /* alternative name */ Arcane::String("nb-couches-fantomes"));
115writerServiceName.addAlternativeNodeName(
116 /* language */ Arcane::String("fr"),
117 /* alternative name */ Arcane::String("nom-service-ecriture"));
118meshFileNamePattern.addAlternativeNodeName(
119 /* language */ Arcane::String("fr"),
120 /* alternative name */ Arcane::String("patron-nom-fichier-maillage"));
121addAlternativeNodeName(
122 /* language */ Arcane::String("fr"),
123 /* alternative name */ Arcane::String("partitionneur-cas"));
124 }
125
126public:
127 // Interfaces for main CaseOptions
128
129 Arcane::Int32 getNbCutPart() { return nbCutPart(); }
130 Arcane::ICaseFunction* getNbCutPartFunction() { return nbCutPart.function(); }
131 Arcane::IStandardFunction* getNbCutPartStandardFunction() { return nbCutPart.standardFunction(); }
132 Arcane::String getLibrary() { return library(); }
133 Arcane::ICaseFunction* getLibraryFunction() { return library.function(); }
134 Arcane::IStandardFunction* getLibraryStandardFunction() { return library.standardFunction(); }
135 bool getCreateCorrespondances() { return createCorrespondances(); }
136 Arcane::ICaseFunction* getCreateCorrespondancesFunction() { return createCorrespondances.function(); }
137 Arcane::IStandardFunction* getCreateCorrespondancesStandardFunction() { return createCorrespondances.standardFunction(); }
138 Arcane::Int32 getNbGhostLayer() { return nbGhostLayer(); }
139 Arcane::ICaseFunction* getNbGhostLayerFunction() { return nbGhostLayer.function(); }
140 Arcane::IStandardFunction* getNbGhostLayerStandardFunction() { return nbGhostLayer.standardFunction(); }
141 Arcane::String getWriterServiceName() { return writerServiceName(); }
142 Arcane::ICaseFunction* getWriterServiceNameFunction() { return writerServiceName.function(); }
143 Arcane::IStandardFunction* getWriterServiceNameStandardFunction() { return writerServiceName.standardFunction(); }
144 Arcane::String getMeshFileNamePattern() { return meshFileNamePattern(); }
145 Arcane::ICaseFunction* getMeshFileNamePatternFunction() { return meshFileNamePattern.function(); }
146 Arcane::IStandardFunction* getMeshFileNamePatternStandardFunction() { return meshFileNamePattern.standardFunction(); }
147
148 Arcane::ConstArrayView< ItemGroup > getConstraints() { return constraints; }
149
150
151 // Interfaces for complex options
152
153
154public:
155
156 Arcane::ICaseOptions* caseOptions() const
157 {
158 return m_case_options.get();
159 }
160
161 Arcane::ICaseOptionList* configList() const
162 {
163 return m_case_options->configList();
164 }
165
166 void setCaseModule(Arcane::IModule* m)
167 {
168 m_case_options->setCaseModule(m);
169 }
170
171 void setCaseServiceInfo(Arcane::IServiceInfo* si)
172 {
173 m_case_options->setCaseServiceInfo(si);
174 }
175
176 void addAlternativeNodeName(const Arcane::String& lang,
177 const Arcane::String& name)
178 {
179 m_case_options->addAlternativeNodeName(lang,name);
180 }
181
182private:
183
184 Arcane::ICaseOptionList* _configList() const { return configList(); }
185 Arcane::XmlNode _element() const { return Arcane::XmlNode(); }
186
187private:
188
189 static Arcane::ICaseOptions* _createCaseOption(Arcane::ICaseMng* cm,Arcane::ICaseOptions* co);
190
192
193public:
194
195
196 Arcane::CaseOptionInt32 nbCutPart;
197 Arcane::CaseOptionString library;
198 Arcane::CaseOptionBool createCorrespondances;
199 Arcane::CaseOptionInt32 nbGhostLayer;
200 Arcane::CaseOptionString writerServiceName;
201 Arcane::CaseOptionString meshFileNamePattern;
203};
204
205/*---------------------------------------------------------------------------*/
206/*---------------------------------------------------------------------------*/
207
208ARCANE_END_NAMESPACE
209
210/*---------------------------------------------------------------------------*/
211/*---------------------------------------------------------------------------*/
212
213#endif
214
215
216
217/*---------------------------------------------------------------------------*/
218/*---------------------------------------------------------------------------*/
219// #WARNING#: This file has been generated automatically. Do not edit.
220// Axlstar version 1.0
221/*---------------------------------------------------------------------------*/
222/*---------------------------------------------------------------------------*/
223#ifndef ARCANE_SERVICE_AXLSTAR_ARCANE_ARCANECASEPARTITIONER_H
224#define ARCANE_SERVICE_AXLSTAR_ARCANE_ARCANECASEPARTITIONER_H
225/*---------------------------------------------------------------------------*/
226/*---------------------------------------------------------------------------*/
227
228#include "arcane/core/VariableTypes.h"
229#include "arcane/core/ServiceInfo.h"
230#include "arcane/core/ISubDomain.h"
231#include "arcane/core/ServiceBuildInfo.h"
233#include "arcane/core/ServiceRegisterer.h"
234#include "arcane/core/BasicService.h"
235
236#ifndef ARCANE_HAS_SPECIFIC_BASIC_SERVICE
237// Code pour les versions de Arcane avant la 3.8 qui ne possèdent pas les
238// classes de base spécifiques pour les services
239namespace Arcane
240{
241using BasicCaseOptionService = BasicService;
242using BasicSubDomainService = BasicService;
243using BasicMeshService = BasicService;
244}
245#endif
246
247/*---------------------------------------------------------------------------*/
248/*---------------------------------------------------------------------------*/
249
250ARCANE_BEGIN_NAMESPACE
251
252/*---------------------------------------------------------------------------*/
253/*---------------------------------------------------------------------------*/
254
255class CaseOptionsArcaneCasePartitioner;
256
257/*---------------------------------------------------------------------------*/
258/*---------------------------------------------------------------------------*/
259
262 : public Arcane::BasicCaseOptionService
264{
265public:
266 // NOTE GG: attention code dupliqué avec 'ServiceT4CaseAndStrong'. Bien reporter les modifications
267 template <typename ServiceClassType> static void fillServiceInfo(Arcane::ServiceInfo* si)
268 {
269 si->setCaseOptionsFileName("ArcaneCasePartitioner_arcane_std");
270 si->setAxlVersion(1.0);
271 si->setDefaultTagName("arcane-case-partitioner");
272 si->setAxlContent(getAxlContent());
273 si->setTagName("partitionneur-cas","fr");
276);
277 }
278
279public:
280
283 : Arcane::BasicCaseOptionService(sbi)
284 , m_options(nullptr)
285 {
287 if (co) {
289 }
290
291 }
292
295 {
296 delete m_options;
297 }
298
299
300public:
301
304
305private:
306
309
310protected:
311
313private:
315 {
316 const Arcane::Byte* content = (const Arcane::Byte*)"";
317 Arcane::Span<const Arcane::Byte> bytes(content,0);
318 int file_version = 1;
319 return Arcane::FileContent(bytes,file_version,"");
320 }
321};
322
323/*---------------------------------------------------------------------------*/
324/*---------------------------------------------------------------------------*/
325
326#define ARCANE_REGISTER_SERVICE_ARCANECASEPARTITIONER(service_name,class_name) \
327 ARCANE_REGISTER_AXL_SERVICE(class_name,Arcane::ServiceProperty(#service_name,Arcane::ST_CaseOption,\
328 Arcane::SFP_None ))
329
330/*---------------------------------------------------------------------------*/
331/*---------------------------------------------------------------------------*/
332
333ARCANE_END_NAMESPACE
334
335/*---------------------------------------------------------------------------*/
336/*---------------------------------------------------------------------------*/
337
338#endif
339
Ce fichier contient les différentes fabriques de services et macro pour enregistrer les services.
#define ARCANE_SERVICE_INTERFACE(ainterface)
Macro pour déclarer une interface lors de l'enregistrement d'un service.
CaseOptionsArcaneCasePartitioner * m_options
Options du jeu de données du service.
ArcaneArcaneCasePartitionerObject(const Arcane::ServiceBuildInfo &sbi)
Constructeur.
CaseOptionsArcaneCasePartitioner * options() const
Options du jeu de données du service.
static Arcane::FileContent getAxlContent()
Variables du service.
Classe de base de service lié à un sous-domaine.
Classe de base d'une option du jeu de donnée.
Informations pour construire une option de jeu de données.
Option du jeu de donnée de type liste de types étendus.
Vue constante d'un tableau de type T.
Description et contenu d'un fichier.
Definition FileContent.h:32
Interface d'une fonction du jeu de données.
Interface du gestionnaire de cas.
Definition ICaseMng.h:56
Interface d'une liste d'options du jeu de données.
Interface d'une liste d'options du jeu de données.
Interface d'un service d'exécution direct.
Interface d'un module.
Definition IModule.h:39
Interface des informations d'un service ou d'un module.
Interface gérant une fonction standard.
Informations d'un service.
Definition ServiceInfo.h:46
Encapsulation d'un pointeur avec compteur de référence.
static void registerToServiceInfo(ServiceInfo *si, const Interfaces &... args)
Enregistre dans le service les fabriques pour les interfacs Interfaces.
ICaseOptions * caseOptions() const
Accès au ICaseOptions associé.
Structure contenant les informations pour créer un service.
Vue d'un tableau d'éléments de type T.
Definition Span.h:633
Chaîne de caractères unicode.
Noeud d'un arbre DOM.
Definition XmlNode.h:51
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
unsigned char Byte
Type d'un octet.
Definition BaseTypes.h:42
std::int32_t Int32
Type entier signé sur 32 bits.