13#ifndef ARCANE_STD_INTERNAL_BASICREADERWRITER_H
14#define ARCANE_STD_INTERNAL_BASICREADERWRITER_H
18#include "arcane/utils/TraceAccessor.h"
19#include "arcane/utils/String.h"
20#include "arcane/utils/ArrayShape.h"
21#include "arcane/utils/ScopedPtr.h"
22#include "arcane/utils/Array.h"
25#include "arcane/core/XmlNode.h"
26#include "arcane/core/VariableMetaData.h"
28#include "arcane/core/IDataWriter.h"
29#include "arcane/core/IDataReader.h"
30#include "arcane/core/IDataReader2.h"
32#include "arcane/std/internal/BasicReaderWriterDatabase.h"
33#include "arcane/std/internal/VariableDataInfo.h"
54class BasicVariableMetaData
60 , m_item_group_name(varmd->itemGroupName())
61 , m_mesh_name(varmd->meshName())
62 , m_item_family_name(varmd->itemFamilyName())
68 const String& fullName()
const {
return m_full_name; }
69 const String& itemGroupName()
const {
return m_item_group_name; }
70 const String& meshName()
const {
return m_mesh_name; }
71 const String& itemFamilyName()
const {
return m_item_family_name; }
72 bool isItemVariable()
const {
return !m_item_family_name.
null(); }
96 virtual void initialize(
const String& path,
Int32 rank) = 0;
97 virtual void readData(
const String& var_full_name,
IData* data) = 0;
98 virtual void readItemGroup(
const String& group_name,
Int64Array& written_unique_ids,
100 virtual String comparisonHashValue(
const String& var_full_name)
const = 0;
109class BasicGenericReader
121 void initialize(
const String& path,
Int32 rank)
override;
122 void readData(
const String& var_full_name,
IData* data)
override;
123 void readItemGroup(
const String& group_name,
Int64Array& written_unique_ids,
125 String comparisonHashValue(
const String& var_full_name)
const override;
128 return m_variables_data_info;
136 Int32 m_rank = A_NULL_RANK;
137 Int32 m_version = -1;
159 virtual void initialize(
const String& path,
Int32 rank) = 0;
168 const String& comparison_hash,
169 bool is_save_values) = 0;
170 virtual void writeItemGroup(
const String& group_full_name,
173 virtual void endWrite() = 0;
179class BasicGenericWriter
190 void initialize(
const String& path,
Int32 rank)
override;
192 const String& compare_hash,
bool is_save_values)
override;
195 void endWrite()
override;
200 Int32 m_version = -1;
202 Int32 m_rank = A_NULL_RANK;
210class BasicReaderWriterCommon
214 friend class BasicGenericReader;
215 friend class BasicGenericWriter;
229 const String& path, eOpenMode open_mode);
235 eOpenMode m_open_mode = OpenModeRead;
245 static String _getArcaneDBTag();
Déclarations des types généraux de Arcane.
Tableau d'items de types quelconques.
Interface de l'application.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Interface d'une donnée sérialisée.
Groupe d'entités de maillage.
Écrivain parallèle pour faire des sorties par uniqueId() croissant.
Référence à une instance.
Vue d'un tableau d'éléments de type T.
Chaîne de caractères unicode.
bool null() const
Retourne true si la chaîne est nulle.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
void writeData(const String &var_full_name, const ISerializedData *sdata, const String &compare_hash, bool is_save_values) override
Sauve une variable.
virtual void writeData(const String &var_full_name, const ISerializedData *sdata, const String &comparison_hash, bool is_save_values)=0
Sauve une variable.
Tableau associatif des données des variables.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Array< Int64 > Int64Array
Tableau dynamique à une dimension d'entiers 64 bits.
Int32 Integer
Type représentant un entier.
std::int32_t Int32
Type entier signé sur 32 bits.