14#include "arcane/utils/ArcanePrecomp.h"
16#include "arcane/utils/List.h"
17#include "arcane/utils/String.h"
19#include "arcane/core/TimeLoop.h"
20#include "arcane/core/TimeLoopEntryPointInfo.h"
21#include "arcane/core/TimeLoopSingletonServiceInfo.h"
22#include "arcane/core/Configuration.h"
23#include "arcane/core/IApplication.h"
60 typedef std::map<String, List<TimeLoopEntryPointInfo>> EntryPointInfoMap;
65 ~TimeLoopPrivate() {
delete m_configuration; }
77 EntryPointInfoMap m_entry_points;
97TimeLoopPrivate(IApplication* app,
const String& name)
129 m_p->m_configuration = m_p->m_application->configurationMng()->createConfiguration();
138 m_p->m_required_modules_name.clone(names);
147 m_p->m_optional_modules_name.clone(names);
156 TimeLoopPrivate::EntryPointInfoMap::const_iterator it = m_p->m_entry_points.find(where);
157 if (it == m_p->m_entry_points.end()) {
168 const TimeLoopEntryPointInfoCollection& calls)
170 TimeLoopEntryPointInfoList entry_points;
171 entry_points.
clone(calls);
172 m_p->m_entry_points.insert(TimeLoopPrivate::EntryPointInfoMap::value_type(where, entry_points));
181 m_p->m_user_classes.clone(user_classes);
190 return m_p->m_application;
208 m_p->m_title =
title;
214 return m_p->m_is_old;
218setOldFormat(
bool is_old)
220 m_p->m_is_old = is_old;
226 return m_p->m_description;
238 return m_p->m_required_modules_name;
244 return m_p->m_optional_modules_name;
250 return m_p->m_user_classes;
259 return m_p->m_singleton_services;
268 m_p->m_singleton_services.clone(c);
277 return m_p->m_configuration;
Interface for a configuration.
Interface of a time loop.
static const char * WRestore
called to restore variables during a rollback
static const char * WOnMeshChanged
called after a mesh change
static const char * WExit
called upon termination of the code.
virtual void build()=0
Constructs the time loop.
static const char * WOnMeshRefinement
called after mesh refinement
static const char * WBuild
called when reading the dataset
static const char * WComputeLoop
called during the calculation loop
static const char * WInit
called during initialization, initialization of a restart, or a new case
Implementation of a collection of elements in vector form.
void clone(const Collection< T > &base)
Clone the collection base.
Unicode character string.
String m_description
Description.
StringList m_required_modules_name
True if time loop is in the old format.
IApplication * m_application
Application.
StringList m_user_classes
List of user classes.
void setOptionalModulesName(const StringCollection &names) override
Sets the list of optional modules.
String name() const override
Name of the time loop.
virtual void build() override
Constructs the time loop.
StringCollection requiredModulesName() const override
List of names of required modules.
void setDescription(const String &description) override
Sets the description of the time loop.
IConfiguration * configuration() override
Configuration options.
StringCollection optionalModulesName() const override
List of names of optional modules.
String description() const override
Description of the time loop.
StringCollection userClasses() const override
List of user classes associated with the time loop.
void setTitle(const String &title) override
Sets the title of the time loop.
void setUserClasses(const StringCollection &user_classes) override
Returns the list of classes associated with the time loop.
TimeLoopEntryPointInfoCollection entryPoints(const String &where) const override
List of names of entry points for the call point where.
void setRequiredModulesName(const StringCollection &names) override
Sets the list of required modules.
void setEntryPoints(const String &where, const TimeLoopEntryPointInfoCollection &calls) override
Sets the list of names of entry points for the call point where.
String title() const override
Title of the time loop.
void setSingletonServices(const TimeLoopSingletonServiceInfoCollection &c) override
Sets the list of singleton services.
TimeLoopSingletonServiceInfoCollection singletonServices() const override
List of singleton services.
IApplication * application() const override
Application.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Collection< String > StringCollection
Collection of strings.
List< String > StringList
Unicode string list.