12#ifndef ARCANE_STD_INTERNAL_BASICREADERWRITER_H
13#define ARCANE_STD_INTERNAL_BASICREADERWRITER_H
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/String.h"
19#include "arcane/utils/ArrayShape.h"
20#include "arcane/utils/ScopedPtr.h"
21#include "arcane/utils/Array.h"
24#include "arcane/core/XmlNode.h"
25#include "arcane/core/VariableMetaData.h"
27#include "arcane/core/IDataWriter.h"
28#include "arcane/core/IDataReader.h"
29#include "arcane/core/IDataReader2.h"
31#include "arcane/std/internal/BasicReaderWriterDatabase.h"
32#include "arcane/std/internal/VariableDataInfo.h"
53class BasicVariableMetaData
59 , m_item_group_name(varmd->itemGroupName())
60 , m_mesh_name(varmd->meshName())
61 , m_item_family_name(varmd->itemFamilyName())
67 const String& fullName()
const {
return m_full_name; }
68 const String& itemGroupName()
const {
return m_item_group_name; }
69 const String& meshName()
const {
return m_mesh_name; }
70 const String& itemFamilyName()
const {
return m_item_family_name; }
71 bool isItemVariable()
const {
return !m_item_family_name.
null(); }
95 virtual void initialize(
const String& path,
Int32 rank) = 0;
96 virtual void readData(
const String& var_full_name,
IData* data) = 0;
97 virtual void readItemGroup(
const String& group_name,
Int64Array& written_unique_ids,
99 virtual String comparisonHashValue(
const String& var_full_name)
const = 0;
108class BasicGenericReader
120 void initialize(
const String& path,
Int32 rank)
override;
121 void readData(
const String& var_full_name,
IData* data)
override;
122 void readItemGroup(
const String& group_name,
Int64Array& written_unique_ids,
124 String comparisonHashValue(
const String& var_full_name)
const override;
127 return m_variables_data_info;
135 Int32 m_rank = A_NULL_RANK;
136 Int32 m_version = -1;
158 virtual void initialize(
const String& path,
Int32 rank) = 0;
167 const String& comparison_hash,
168 bool is_save_values) = 0;
169 virtual void writeItemGroup(
const String& group_full_name,
172 virtual void endWrite() = 0;
178class BasicGenericWriter
189 void initialize(
const String& path,
Int32 rank)
override;
191 const String& compare_hash,
bool is_save_values)
override;
194 void endWrite()
override;
199 Int32 m_version = -1;
201 Int32 m_rank = A_NULL_RANK;
209class BasicReaderWriterCommon
213 friend class BasicGenericReader;
214 friend class BasicGenericWriter;
228 const String& path, eOpenMode open_mode);
234 eOpenMode m_open_mode = OpenModeRead;
244 static String _getArcaneDBTag();
Declarations of Arcane's general types.
Base class for 1D data vectors.
Interface of a data item.
Interface of the parallelism manager for a subdomain.
Interface of a serialized data.
Parallel writer for outputting data by increasing uniqueId().
Reference to an instance.
View of an array of elements of type T.
Unicode character string.
bool null() const
Returns true if the string is null.
TraceAccessor(ITraceMng *m)
Constructs an accessor via the trace manager m.
void writeData(const String &var_full_name, const ISerializedData *sdata, const String &compare_hash, bool is_save_values) override
Saves a variable.
virtual void writeData(const String &var_full_name, const ISerializedData *sdata, const String &comparison_hash, bool is_save_values)=0
Saves a variable.
Associative map of variable data.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Array< Int64 > Int64Array
Dynamic one-dimensional array of 64-bit integers.
Int32 Integer
Type representing an integer.
std::int32_t Int32
Signed integer type of 32 bits.