Arcane  4.2.1.0
Developer documentation
Loading...
Searching...
No Matches
PDESRandomNumberGenerator_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_PDESRANDOMNUMBERGENERATOR_H
9#define ARCANE_CASEOPTION_AXLSTAR_PDESRANDOMNUMBERGENERATOR_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
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
25class CaseOptionsPDESRandomNumberGenerator
26{
27public:
28
29 /*-------------------------------------------------------------------------*/
30 /*--------------------------- Complex Options -----------------------------*/
31 /*-------------------------------------------------------------------------*/
32
33 /*-------------------------------------------------------------------------*/
34 /*--------------------------- Non Complex Options -------------------------*/
35 /*-------------------------------------------------------------------------*/
36
37 CaseOptionsPDESRandomNumberGenerator(Arcane::ICaseOptions* co)
38 : m_case_options(co)
39 , initialSeed(Arcane::CaseOptionBuildInfo(_configList(),
40 /* name */ "initialSeed", _element(),
41 /* default */ "4294967297",
42 /* min-occurs */ 1,
43 /* max-occurs */ 1,
44 /* optional */ false))
45 {
46
47 }
48
49public:
50 // Interfaces for main CaseOptions
51
52 Arcane::Int64 getInitialSeed() { return initialSeed(); }
53 Arcane::ICaseFunction* getInitialSeedFunction() { return initialSeed.function(); }
54 Arcane::IStandardFunction* getInitialSeedStandardFunction() { return initialSeed.standardFunction(); }
55
56
57
58 // Interfaces for complex options
59
60
61public:
62
63 Arcane::ICaseOptions* caseOptions() const
64 {
65 return m_case_options.get();
66 }
67
68 Arcane::ICaseOptionList* configList() const
69 {
70 return m_case_options->configList();
71 }
72
73 void setCaseModule(Arcane::IModule* m)
74 {
75 m_case_options->setCaseModule(m);
76 }
77
78 void setCaseServiceInfo(Arcane::IServiceInfo* si)
79 {
80 m_case_options->setCaseServiceInfo(si);
81 }
82
83 void addAlternativeNodeName(const Arcane::String& lang,
84 const Arcane::String& name)
85 {
86 m_case_options->addAlternativeNodeName(lang,name);
87 }
88
89private:
90
91 Arcane::ICaseOptionList* _configList() const { return configList(); }
92 Arcane::XmlNode _element() const { return Arcane::XmlNode(); }
93
94private:
95
96 static Arcane::ICaseOptions* _createCaseOption(Arcane::ICaseMng* cm,Arcane::ICaseOptions* co);
97
99
100public:
101
102
103 Arcane::CaseOptionInt64 initialSeed;
104};
105
106/*---------------------------------------------------------------------------*/
107/*---------------------------------------------------------------------------*/
108
109#endif
110
111
112
113/*---------------------------------------------------------------------------*/
114/*---------------------------------------------------------------------------*/
115// #WARNING#: This file has been generated automatically. Do not edit.
116// Axlstar version 1.0
117/*---------------------------------------------------------------------------*/
118/*---------------------------------------------------------------------------*/
119#ifndef ARCANE_SERVICE_AXLSTAR_PDESRANDOMNUMBERGENERATOR_H
120#define ARCANE_SERVICE_AXLSTAR_PDESRANDOMNUMBERGENERATOR_H
121/*---------------------------------------------------------------------------*/
122/*---------------------------------------------------------------------------*/
123
124#include "arcane/core/VariableTypes.h"
125#include "arcane/core/ServiceInfo.h"
126#include "arcane/core/ISubDomain.h"
127#include "arcane/core/ServiceBuildInfo.h"
129#include "arcane/core/ServiceRegisterer.h"
130#include "arcane/core/BasicService.h"
131
132#ifndef ARCANE_HAS_SPECIFIC_BASIC_SERVICE
133// Code pour les versions de Arcane avant la 3.8 qui ne possèdent pas les
134// classes de base spécifiques pour les services
135namespace Arcane
136{
137using BasicCaseOptionService = BasicService;
138using BasicSubDomainService = BasicService;
139using BasicMeshService = BasicService;
140}
141#endif
142
143/*---------------------------------------------------------------------------*/
144/*---------------------------------------------------------------------------*/
145
147
148/*---------------------------------------------------------------------------*/
149/*---------------------------------------------------------------------------*/
150
153 : public Arcane::BasicCaseOptionService
155{
156public:
157 // NOTE GG: attention code dupliqué avec 'ServiceT4CaseAndStrong'. Bien reporter les modifications
158 template <typename ServiceClassType> static void fillServiceInfo(Arcane::ServiceInfo* si)
159 {
160 si->setCaseOptionsFileName("PDESRandomNumberGenerator_arcane_std");
161 si->setAxlVersion(1.0);
162 si->setDefaultTagName("p-d-e-s-random-number-generator");
163 si->setAxlContent(getAxlContent());
166);
167 }
168
169public:
170
173 : Arcane::BasicCaseOptionService(sbi)
174 , m_options(nullptr)
175 {
177 if (co) {
179 }
180
181 }
182
185 {
186 delete m_options;
187 }
188
189
190public:
191
194
195private:
196
199
200protected:
201
203private:
205 {
206 const Arcane::Byte* content = (const Arcane::Byte*)"";
207 Arcane::Span<const Arcane::Byte> bytes(content,0);
208 int file_version = 1;
209 return Arcane::FileContent(bytes,file_version,"");
210 }
211};
212
213/*---------------------------------------------------------------------------*/
214/*---------------------------------------------------------------------------*/
215
216#define ARCANE_REGISTER_SERVICE_PDESRANDOMNUMBERGENERATOR(service_name,class_name) \
217 ARCANE_REGISTER_AXL_SERVICE(class_name,Arcane::ServiceProperty(#service_name,Arcane::ST_CaseOption,\
218 Arcane::SFP_Singleton ))
219
220/*---------------------------------------------------------------------------*/
221/*---------------------------------------------------------------------------*/
222
223#endif
224
This file contains the various service factories and macros for registering services.
#define ARCANE_SERVICE_INTERFACE(ainterface)
Macro to declare an interface when registering a service.
CaseOptionsPDESRandomNumberGenerator * m_options
Options du jeu de données du service.
ArcanePDESRandomNumberGeneratorObject(const Arcane::ServiceBuildInfo &sbi)
Constructeur.
static Arcane::FileContent getAxlContent()
Variables du service.
CaseOptionsPDESRandomNumberGenerator * options() const
Options du jeu de données du service.
Information for building a dataset option.
Description and content of a file.
Definition FileContent.h:33
Interface of a dataset function.
Case manager interface.
Definition ICaseMng.h:57
Interface for a data set options list.
Interface for a list of data set options.
Interface of a module.
Definition IModule.h:40
Interface for a random number generator.
Interface for service or module information.
Interface managing a standard function.
Information about a service.
Definition ServiceInfo.h:51
Encapsulation of a pointer with a reference counter.
static void registerToServiceInfo(ServiceInfo *si, const Interfaces &... args)
Registers the factories for the Interfaces interfaces in the service.
ICaseOptions * caseOptions() const
Access to the associated ICaseOptions.
Structure containing the information to create a service.
View of an array of elements of type T.
Definition Span.h:633
Node of a DOM tree.
Definition XmlNode.h:51
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int64_t Int64
Signed integer type of 64 bits.
unsigned char Byte
Type of a byte.
Definition BaseTypes.h:42