12#ifndef ARCANE_STD_SIMPLECSVOUTPUTSERVICE_H
13#define ARCANE_STD_SIMPLECSVOUTPUTSERVICE_H
17#include "arcane/ISimpleTableOutput.h"
19#include "arcane/std/SimpleCsvReaderWriter.h"
20#include "arcane/std/SimpleTableInternalMng.h"
21#include "arcane/std/SimpleTableWriterHelper.h"
23#include "arcane/Directory.h"
24#include "arcane/IMesh.h"
26#include "arcane/std/SimpleCsvOutput_axl.h"
37class SimpleCsvOutputService
44 , m_is_already_init(
false)
55 void clear()
override;
59 return m_simple_table_internal_mng.addRow(row_name);
63 return m_simple_table_internal_mng.addRow(row_name, elements);
67 return m_simple_table_internal_mng.addRows(rows_names);
71 return m_simple_table_internal_mng.addColumn(column_name);
75 return m_simple_table_internal_mng.addColumn(column_name, elements);
79 return m_simple_table_internal_mng.addColumns(columns_names);
83 return m_simple_table_internal_mng.addElementInRow(position,
element);
87 return m_simple_table_internal_mng.addElementInRow(row_name,
element, create_if_not_exist);
91 return m_simple_table_internal_mng.addElementInSameRow(
element);
95 return m_simple_table_internal_mng.addElementsInRow(position, elements);
99 return m_simple_table_internal_mng.addElementsInRow(row_name, elements, create_if_not_exist);
103 return m_simple_table_internal_mng.addElementsInSameRow(elements);
107 return m_simple_table_internal_mng.addElementInColumn(position,
element);
111 return m_simple_table_internal_mng.addElementInColumn(column_name,
element, create_if_not_exist);
115 return m_simple_table_internal_mng.addElementInSameColumn(
element);
120 return m_simple_table_internal_mng.addElementsInColumn(position, elements);
124 return m_simple_table_internal_mng.addElementsInColumn(column_name, elements, create_if_not_exist);
128 return m_simple_table_internal_mng.addElementsInSameColumn(elements);
133 return m_simple_table_internal_mng.editElementUp(
element, update_last_position);
137 return m_simple_table_internal_mng.editElementDown(
element, update_last_position);
141 return m_simple_table_internal_mng.editElementLeft(
element, update_last_position);
145 return m_simple_table_internal_mng.editElementRight(
element, update_last_position);
150 return m_simple_table_internal_mng.elementUp(update_last_position);
154 return m_simple_table_internal_mng.elementDown(update_last_position);
158 return m_simple_table_internal_mng.elementLeft(update_last_position);
162 return m_simple_table_internal_mng.elementRight(update_last_position);
167 return m_simple_table_internal_mng.editElement(
element);
171 return m_simple_table_internal_mng.editElement(position_x, position_y,
element);
175 return m_simple_table_internal_mng.editElement(column_name, row_name,
element);
180 return m_simple_table_internal_mng.element();
184 return m_simple_table_internal_mng.element(position_x, position_y, update_last_position);
188 return m_simple_table_internal_mng.element(column_name, row_name, update_last_position);
193 return m_simple_table_internal_mng.row(position);
197 return m_simple_table_internal_mng.column(position);
202 return m_simple_table_internal_mng.row(row_name);
206 return m_simple_table_internal_mng.column(column_name);
211 return m_simple_table_internal_mng.rowSize(position);
215 return m_simple_table_internal_mng.columnSize(position);
220 return m_simple_table_internal_mng.rowSize(row_name);
224 return m_simple_table_internal_mng.columnSize(column_name);
229 return m_simple_table_internal_mng.rowPosition(row_name);
233 return m_simple_table_internal_mng.columnPosition(column_name);
238 return m_simple_table_internal_mng.numberOfRows();
242 return m_simple_table_internal_mng.numberOfColumns();
247 return m_simple_table_internal_mng.
rowName(position);
249 String columnName(
Integer position)
override
251 return m_simple_table_internal_mng.
columnName(position);
256 return m_simple_table_internal_mng.editRowName(position, new_name);
260 return m_simple_table_internal_mng.editRowName(row_name, new_name);
265 return m_simple_table_internal_mng.editColumnName(position, new_name);
269 return m_simple_table_internal_mng.editColumnName(column_name, new_name);
274 return m_simple_table_internal_mng.addAverageColumn(column_name);
279 return m_simple_table_output_mng.print(rank);
283 return m_simple_table_output_mng.writeFile(rank);
287 return m_simple_table_output_mng.
writeFile(root_directory, rank);
294 return m_simple_table_output_mng.setPrecision(
precision);
297 bool isFixed()
override {
return m_simple_table_output_mng.isFixed(); }
298 void setFixed(
bool fixed)
override {
return m_simple_table_output_mng.setFixed(fixed); };
302 return m_simple_table_output_mng.isForcedToUseScientificNotation();
306 return m_simple_table_output_mng.setForcedToUseScientificNotation(use_scientific);
311 return m_simple_table_output_mng.outputDirectory();
315 return m_simple_table_output_mng.setOutputDirectory(directory);
320 return m_simple_table_output_mng.tableName();
324 return m_simple_table_output_mng.setTableName(name);
328 return m_simple_table_output_mng.fileName();
333 return m_simple_table_output_mng.outputPath();
337 return m_simple_table_output_mng.rootPath();
342 return m_simple_table_output_mng.fileType();
347 return m_simple_table_output_mng.isOneFileByRanksPermited();
353 return m_simple_csv_reader_writer;
364 bool m_is_already_init;
ArcaneSimpleCsvOutputObject(const Arcane::ServiceBuildInfo &sbi)
Constructeur.
Vue constante d'un tableau de type T.
Classe gérant un répertoire.
Référence à une instance.
eServiceType creationType() const
Type du service pouvant être créé par cette instance.
Structure contenant les informations pour créer un service.
Integer precision() override
Méthode permettant de récupérer la précision actuellement utilisée pour l'écriture des valeurs.
void setOutputDirectory(const String &directory) override
Accesseur permettant de définir le répertoire dans lequel enregistrer les tableaux.
String tableName() override
Accesseur permettant de récupérer le nom des tableaux.
bool editElementRight(Real element, bool update_last_position) override
Méthode permettant d'éditer un élément à droite du dernier élement dernièrement manipulé (même ligne/...
bool editColumnName(Integer position, const String &new_name) override
Méthode permettant de changer le nom d'une colonne.
bool editRowName(Integer position, const String &new_name) override
Méthode permettant de changer le nom d'une ligne.
Integer numberOfColumns() override
Méthode permettant de récupérer le nombre de colonnes dans le tableau. C'est, en quelque sorte,...
bool addElementsInRow(const String &row_name, ConstArrayView< Real > elements, bool create_if_not_exist) override
Méthode permettant d'ajouter plusieurs éléments sur une ligne.
void clear() override
Méthode permettant de remettre à zéro les tableaux.
Directory rootPath() override
Accesseur permettant de récupérer le chemin où l'implémentation enregistre ces tableaux.
RealUniqueArray column(Integer position) override
Méthode permettant d'obtenir une copie d'une colonne.
Real element(Integer position_x, Integer position_y, bool update_last_position) override
Méthode permettant d'obtenir une copie d'un élement.
bool addElementInSameRow(Real element) override
Méthode permettant d'ajouter un élément sur la ligne dernièrement manipulée.
bool editRowName(const String &row_name, const String &new_name) override
Méthode permettant de changer le nom d'une ligne.
bool addElementInRow(const String &row_name, Real element, bool create_if_not_exist) override
Méthode permettant l'ajouter un élément sur une ligne.
RealUniqueArray row(const String &row_name) override
Méthode permettant d'obtenir une copie d'une ligne.
bool isForcedToUseScientificNotation() override
Méthode permettant de savoir si le frag 'std::scientific' est actif ou non pour l'écriture des valeur...
Real elementRight(bool update_last_position) override
Méthode permettant de récupérer un élément à droite du dernier élement dernièrement manipulé (même li...
void print(Integer rank) override
Méthode permettant d'afficher le tableau. Méthode effectuant des opérations collectives.
bool isFixed() override
Méthode permettant de savoir si le frag 'std::fixed' est actif ou non pour l'écriture des valeurs.
void setFixed(bool fixed) override
Méthode permettant de définir le flag 'std::fixed' ou non.
bool addElementInColumn(const String &column_name, Real element, bool create_if_not_exist) override
Méthode permettant l'ajouter un élément sur une colonne.
bool addElementsInSameRow(ConstArrayView< Real > elements) override
Méthode permettant d'ajouter plusieurs éléments sur la ligne dernièrement manipulée.
Integer columnPosition(const String &column_name) override
Méthode permettant de récupérer la position d'une colonne.
Integer addColumn(const String &column_name) override
Méthode permettant d'ajouter une colonne.
bool addElementsInColumn(Integer position, ConstArrayView< Real > elements) override
Méthode permettant d'ajouter plusieurs éléments sur une colonne.
Directory outputPath() override
Accesseur permettant de récupérer le chemin où sera enregistrés les tableaux.
Real elementLeft(bool update_last_position) override
Méthode permettant de récupérer un élément à gauche du dernier élement dernièrement manipulé (même li...
void setForcedToUseScientificNotation(bool use_scientific) override
Méthode permettant de définir le flag 'std::scientific' ou non.
Integer rowSize(const String &row_name) override
Méthode permettant d'obtenir la taille d'une ligne. Incluant les hypotétiques 'trous' dans la ligne.
bool addElementsInSameColumn(ConstArrayView< Real > elements) override
Méthode permettant d'ajouter plusieurs éléments sur la colonne dernièrement manipulée.
bool editElement(const String &column_name, const String &row_name, Real element) override
Méthode permettant de modifier un élement dans le tableau.
Real elementDown(bool update_last_position) override
Méthode permettant de récupérer un élément en-dessous du dernier élement dernièrement manipulé (ligne...
bool addRows(StringConstArrayView rows_names) override
Méthode permettant d'ajouter plusieurs lignes.
bool addElementsInRow(Integer position, ConstArrayView< Real > elements) override
Méthode permettant d'ajouter plusieurs éléments sur une ligne.
Integer addRow(const String &row_name) override
Méthode permettant d'ajouter une ligne.
Integer rowSize(Integer position) override
Méthode permettant d'obtenir la taille d'une ligne. Incluant les hypothétiques 'trous' dans la ligne.
bool editColumnName(const String &column_name, const String &new_name) override
Méthode permettant de changer le nom d'une colonne.
Real elementUp(bool update_last_position) override
Méthode permettant de récupérer un élément au-dessus du dernier élement dernièrement manipulé (ligne ...
bool editElement(Integer position_x, Integer position_y, Real element) override
Méthode permettant de modifier un élement dans le tableau.
Real element() override
Méthode permettant d'obtenir une copie d'un élement.
Integer columnSize(const String &column_name) override
Méthode permettant d'obtenir la taille d'une colonne. Incluant les hypotétiques 'trous' dans la colon...
RealUniqueArray column(const String &column_name) override
Méthode permettant d'obtenir une copie d'une colonne.
Integer addAverageColumn(const String &column_name) override
Méthode permettant de créer une colonne contenant la moyenne des éléments de chaque ligne.
String outputDirectory() override
Accesseur permettant de récupérer le nom du répertoire où sera placé les tableaux.
bool addElementInRow(Integer position, Real element) override
Méthode permettant d'ajouter un élément à une ligne.
Integer addRow(const String &row_name, ConstArrayView< Real > elements) override
Méthode permettant d'ajouter une ligne.
bool editElement(Real element) override
Méthode permettant de modifier un élement dans le tableau.
bool editElementUp(Real element, bool update_last_position) override
Méthode permettant d'éditer un élément au-dessus du dernier élement dernièrement manipulé (ligne du d...
Integer addColumn(const String &column_name, ConstArrayView< Real > elements) override
Méthode permettant d'ajouter une colonne.
bool writeFile(Integer rank) override
Méthode permettant d'écrire le tableau dans un fichier. Méthode effectuant des opérations collectives...
bool editElementDown(Real element, bool update_last_position) override
Méthode permettant d'éditer un élément en-dessous du dernier élement dernièrement manipulé (ligne du ...
Integer columnSize(Integer position) override
Méthode permettant d'obtenir la taille d'une colonne. Incluant les hypotétiques 'trous' dans la colon...
RealUniqueArray row(Integer position) override
Méthode permettant d'obtenir une copie d'une ligne.
Real element(const String &column_name, const String &row_name, bool update_last_position) override
Méthode permettant d'obtenir une copie d'un élement.
bool addElementInColumn(Integer position, Real element) override
Méthode permettant d'ajouter un élément à une colonne.
Ref< SimpleTableInternal > internal() override
Méthode permettant de récupérer une référence vers l'objet SimpleTableInternal utilisé.
Integer numberOfRows() override
Méthode permettant de récupérer le nombre de lignes dans le tableau. C'est, en quelque sorte,...
bool addColumns(StringConstArrayView columns_names) override
Méthode permettant d'ajouter plusieurs colonnes.
bool editElementLeft(Real element, bool update_last_position) override
Méthode permettant d'éditer un élément à gauche du dernier élement dernièrement manipulé (même ligne/...
String fileName() override
Accesseur permettant de récupérer le nom des fichiers.
bool init() override
Méthode permettant d'initialiser le tableau.
String fileType() override
Méthode permettant de connaitre le type de fichier du service.
bool isOneFileByRanksPermited() override
Méthode permettant de savoir si les paramètres actuellement en possession de l'implémentation lui per...
void setTableName(const String &name) override
Accesseur permettant de définir le nom du tableau.
Ref< ISimpleTableReaderWriter > readerWriter() override
Méthode permettant de récupérer une référence vers l'objet ISimpleTableReaderWriter utilisé.
Integer rowPosition(const String &row_name) override
Méthode permettant de récupérer la position d'une ligne.
void setPrecision(Integer precision) override
Méthode permettant de modifier la précision du print.
bool addElementsInColumn(const String &column_name, ConstArrayView< Real > elements, bool create_if_not_exist) override
Méthode permettant d'ajouter plusieurs éléments sur une colonne.
bool addElementInSameColumn(Real element) override
Méthode permettant d'ajouter un élément sur la colonne dernièrement manipulée.
String columnName(Integer position) override
Méthode permettant de récupérer le nom d'une colonne à partir de sa position.
String rowName(Integer position) override
Méthode permettant de récupérer le nom d'une ligne à partir de sa position.
bool writeFile(Integer rank) override
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
ConstArrayView< String > StringConstArrayView
Equivalent C d'un tableau à une dimension de chaînes de caractères.
Int32 Integer
Type représentant un entier.
@ ST_CaseOption
Le service s'utilise au niveau du jeu de données.
UniqueArray< Real > RealUniqueArray
Tableau dynamique à une dimension de réels.
double Real
Type représentant un réel.