16#include "arcane/std/SimpleTableWriterHelper.h"
18#include "arcane/Directory.h"
19#include "arcane/IParallelMng.h"
20#include "arcane/utils/StringBuilder.h"
40 _computeOutputDirectory();
52 if (rank != -1 && m_simple_table_internal->m_parallel_mng->commRank() != rank)
54 m_simple_table_reader_writer->print();
65 _computeOutputDirectory();
82 if (rank != -1 && m_simple_table_internal->m_parallel_mng->commRank() != rank)
90 return m_simple_table_reader_writer->writeTable(
output_directory, m_simple_table_internal->m_table_name);
108 return m_simple_table_reader_writer->precision();
114 m_simple_table_reader_writer->setPrecision(
precision);
120 return m_simple_table_reader_writer->isFixed();
126 m_simple_table_reader_writer->setFixed(
fixed);
132 return m_simple_table_reader_writer->isForcedToUseScientificNotation();
138 m_simple_table_reader_writer->setForcedToUseScientificNotation(
use_scientific);
147 _computeOutputDirectory();
148 return m_name_output_directory;
154 return m_name_output_directory_without_computation;
160 m_name_output_directory = directory;
161 m_name_output_directory_without_computation = directory;
162 m_name_output_directory_computed =
false;
172 return m_simple_table_internal->m_table_name;
178 return m_name_table_without_computation;
184 m_simple_table_internal->m_table_name = name;
185 m_name_table_without_computation = name;
186 m_name_table_computed =
false;
196 return m_simple_table_internal->m_table_name +
"." + m_simple_table_reader_writer->fileType();
202 _computeOutputDirectory();
203 return Directory(m_root, m_name_output_directory);
216 _computeOutputDirectory();
218 return m_name_table_one_file_by_ranks_permited || m_name_output_directory_one_file_by_ranks_permited;
224 return m_simple_table_reader_writer->fileType();
233 return m_simple_table_internal;
239 return m_simple_table_reader_writer;
246 ARCANE_FATAL(
"La réference passée en paramètre est Null.");
248 m_simple_table_internal = m_simple_table_reader_writer->internal();
254void SimpleTableWriterHelper::
257 if (!m_name_table_computed) {
258 m_simple_table_internal->m_table_name =
_computeName(m_name_table_without_computation, m_name_table_one_file_by_ranks_permited);
259 m_name_table_computed =
true;
263void SimpleTableWriterHelper::
264_computeOutputDirectory()
266 if (!m_name_output_directory_computed) {
267 m_name_output_directory =
_computeName(m_name_output_directory_without_computation, m_name_output_directory_one_file_by_ranks_permited);
268 m_name_output_directory_computed =
true;
287 if (name.startsWith(
"@")) {
301 string_splited[
proc_id.value()] = String::fromNumber(m_simple_table_internal->m_parallel_mng->commRank());
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Classe gérant un répertoire.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
static bool createDirectoryOnlyProcess0(IParallelMng *parallel_mng, const Directory &directory)
Méthode statique permettant de créer un répertoire avec plusieurs processus.
bool init(const Directory &root_directory, const String &table_name, const String &directory_name) override
Méthode permettant d'initialiser l'objet. Notamment le nom du tableau et le nom du répertoire qui con...
String fileType() override
Méthode permettant de connaitre le type de fichier qui sera utilisé.
void setPrecision(Integer precision) override
Méthode permettant de modifier la précision du print.
String outputDirectory() override
Méthode permettant de récupérer le nom du répertoire où sera placé les tableaux.
void setTableName(const String &name) override
Méthode permettant de définir le nom du tableau.
void setFixed(bool fixed) override
Méthode permettant de définir le flag 'std::fixed' ou non.
void print(Integer rank) override
Méthode permettant d'afficher le tableau.
void setForcedToUseScientificNotation(bool use_scientific) override
Méthode permettant de définir le flag 'std::scientific' ou non.
Ref< SimpleTableInternal > internal() override
Méthode permettant de récupérer une référence vers l'objet SimpleTableInternal utilisé.
bool isForcedToUseScientificNotation() override
Méthode permettant de savoir si le frag 'std::scientific' est actif ou non pour l'écriture des valeur...
String fileName() override
Méthode permettant de récupérer le nom du fichier.
String outputDirectoryWithoutComputation() override
Méthode permettant de récupérer le nom du répertoire tel qu'il a été donné précédement.
Ref< ISimpleTableReaderWriter > readerWriter() override
Méthode permettant de récupérer une référence vers l'objet ISimpleTableReaderWriter utilisé.
void setOutputDirectory(const String &directory) override
Méthode permettant de définir le répertoire dans lequel enregistrer les tableaux.
bool writeFile(Integer rank) override
String tableName() override
Méthode permettant de récupérer le nom du tableau.
String tableNameWithoutComputation() override
Méthode permettant de récupérer le nom du tableau tel qu'il a été donné précédement.
void setReaderWriter(const Ref< ISimpleTableReaderWriter > &simple_table_reader_writer) override
Méthode permettant de définir une référence vers un ISimpleTableReaderWriter.
Integer precision() override
Méthode permettant de récupérer la précision actuellement utilisée pour l'écriture des valeurs.
Directory rootPath() override
Méthode permettant de récupérer le chemin où l'implémentation enregistre ces tableaux.
bool isFixed() override
Méthode permettant de savoir si le frag 'std::fixed' est actif ou non pour l'écriture des valeurs.
Directory outputPath() override
Méthode permettant de récupérer le chemin où sera enregistrés les tableaux.
String _computeName(String name, bool &one_file_by_ranks_permited)
Méthode permettant de remplacer les symboles de nom par leur valeur.
bool isOneFileByRanksPermited() override
Méthode permettant de savoir si les paramètres actuellement en possession de l'implémentation lui per...
Constructeur de chaîne de caractère unicode.
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 -*-