Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
SubDomainBuildInfo.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* SubDomainBuildInfo.h (C) 2000-2020 */
9/* */
10/* Informations pour construire un sous-domaine. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_SUBDOMAINBUILDINFO_H
13#define ARCANE_SUBDOMAINBUILDINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/String.h"
18#include "arcane/utils/Array.h"
19#include "arcane/utils/Ref.h"
20#include "arcane/Parallel.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane
26{
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30
31class IParallelMng;
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
35/*!
36 * \brief Paramètres nécessaires à la construction d'un sous-domaine.
37
38 Info pour créer un sous-domaine associé au gestionnaire de parallèlisme
39 \a parallelMng(), avec le jeu de données de nom \a caseFileName()
40 et de contenu \a caseBytes. \a index() est l'indice dans
41 la liste des sous-domaines de la session de ce sous-domaine.
42
43 Le nom du fichier est purement informatif, et seul le contenu \a caseBytes()
44 est utilisé. Si \a caseBytes() n'est pas vide, il doit contenir un
45 document XML valide.
46
47 En réplication de domaine, il faut construire l'instance en lui spécifiant
48 le IParallelMng correspondant à l'ensemble des sous-domaines et des réplicats,
49 qui est allReplicaParallelMng().Sans réplication, cela correspond au gestionnaire
50 parallèle standard.
51*/
52class ARCANE_CORE_EXPORT SubDomainBuildInfo
53{
54 public:
55
56 SubDomainBuildInfo(Ref<IParallelMng> pm,Int32 index);
57 SubDomainBuildInfo(Ref<IParallelMng> pm,Int32 index,Ref<IParallelMng> all_replica_pm);
58
59 public:
60
61 Ref<IParallelMng> parallelMng() const
62 {
63 return m_parallel_mng;
64 }
65
66 String caseFileName() const { return m_case_file_name; }
67
68 void setCaseFileName(const String& filename)
69 {
70 m_case_file_name = filename;
71 }
72
73 ByteConstArrayView caseBytes() const;
74 ByteConstSpan caseContent() const;
75
76 void setCaseBytes(ByteConstArrayView bytes);
77 void setCaseContent(ByteConstSpan content);
78
79 Integer index() const { return m_index; }
80
81 Ref<IParallelMng> allReplicaParallelMng() const
82 {
83 return m_all_replica_parallel_mng;
84 }
85
86 private:
87
88 Ref<IParallelMng> m_parallel_mng;
89 String m_case_file_name; //!< Nom du fichier contenant le jeu de données.
90 UniqueArray<std::byte> m_case_content; //!< Contenu du jeu de données
91 Int32 m_index; //!< Numéro du sous-domaine dans la session
92 //! Gestionnnaire de parallélisme contenant tous les réplica de m_parallel_mng
93 Ref<IParallelMng> m_all_replica_parallel_mng;
94};
95
96/*---------------------------------------------------------------------------*/
97/*---------------------------------------------------------------------------*/
98
99} // End namespace Arcane
100
101/*---------------------------------------------------------------------------*/
102/*---------------------------------------------------------------------------*/
103
104#endif
105
Paramètres nécessaires à la construction d'un sous-domaine.
Vue constante d'un tableau de type T.
Chaîne de caractères unicode.
Vecteur 1D de données avec sémantique par valeur (style STL).
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Span< const std::byte > ByteConstSpan
Vue en lecture seule d'un tableau à une dimension de caractères.
Definition UtilsTypes.h:706