14#include "arcane/utils/ArcanePrecomp.h"
16#include "arcane/utils/Iostream.h"
17#include "arcane/utils/Array.h"
18#include "arcane/utils/PlatformUtils.h"
19#include "arcane/utils/ITraceMng.h"
20#include "arcane/utils/CheckedConvert.h"
22#include "arcane/IApplication.h"
23#include "arcane/DomUtils.h"
24#include "arcane/XmlNode.h"
25#include "arcane/IIOMng.h"
26#include "arcane/IParallelSuperMng.h"
27#include "arcane/IParallelMng.h"
28#include "arcane/IXmlDocumentHolder.h"
56 return collectiveRead(filename,bytes,
true);
61 return localRead(filename, bytes,
true);
72 template <
typename ParallelMngType>
bool
79extern "C++" ARCANE_IMPL_EXPORT IIOMng*
80arcaneCreateIOMng(IParallelMng* pm)
85extern "C++" ARCANE_IMPL_EXPORT IIOMng*
86arcaneCreateIOMng(IParallelSuperMng* psm)
88 return new IOMng(psm);
95IOMng(IParallelMng* pm)
97, m_parallel_super_mng(nullptr)
98, m_thread_mng(pm->threadMng())
99, m_trace_mng(pm->traceMng())
107IOMng(IParallelSuperMng* psm)
108: m_parallel_mng(nullptr)
109, m_parallel_super_mng(psm)
110, m_thread_mng(psm->threadMng())
111, m_trace_mng(psm->application()->traceMng())
159 dom::DOMImplementation
domimp;
188 dom::DOMImplementation
domimp;
192 return domimp._load(buffer, name, m_trace_mng);
198template <
typename ParallelMngType>
214 pm->broadcast(bs, 0);
219 pm->broadcast(bytes, 0);
220 return bytes.empty();
230 return _collectiveRead(m_parallel_mng, filename, bytes,
is_binary);
231 return _collectiveRead(m_parallel_super_mng, filename, bytes,
is_binary);
Tableau d'items de types quelconques.
Interface du gestionnaire des entrées sorties.
Gestionnaire des entrées sorties.
IXmlDocumentHolder * parseXmlBuffer(Span< const Byte > buffer, const String &name) override
Lit et analyse le fichier XML contenu dans le buffer buffer.
bool localRead(const String &filename, ByteArray &bytes) override
Lecture locale d'un fichier.
IXmlDocumentHolder * parseXmlString(const String &str, const String &name) override
Lit et analyse le fichier XML contenu dans la chaîne str.
bool collectiveRead(const String &filename, ByteArray &bytes) override
Lecture collective d'un fichier.
bool writeXmlFile(IXmlDocumentHolder *doc, const String &filename, const bool indented) override
Ecrit l'arbre XML du document doc dans le fichier filename.
IXmlDocumentHolder * parseXmlFile(const String &filename, const String &schemaname=String()) override
Lit et analyse le fichier XML filename.
Interface du gestionnaire de parallélisme pour un sous-domaine.
virtual Int32 commRank() const =0
Rang de cette instance dans le communicateur.
Classe abstraite du superviseur de parallélisme.
Interface d'un gestionnaire de thread.
Gestionnaire d'un document DOM.
static IXmlDocumentHolder * loadFromBuffer(Span< const Byte > buffer, const String &name, ITraceMng *tm)
Charge un document XML.
static IXmlDocumentHolder * loadFromFile(const String &filename, ITraceMng *tm)
Charge un document XML.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Vue constante d'un tableau de type T.
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
ByteConstArrayView utf8() const
Retourne la conversion de l'instance dans l'encodage UTF-8.
const char * localstr() const
Retourne la conversion de l'instance dans l'encodage UTF-8.
ArrayView< Integer > IntegerArrayView
Equivalent C d'un tableau à une dimension d'entiers.
Span< const std::byte > ByteConstSpan
Vue en lecture seule d'un tableau à une dimension de caractères.