14#include "arcane/utils/Collection.h"
15#include "arcane/utils/Enumerator.h"
16#include "arcane/utils/NotImplementedException.h"
17#include "arcane/utils/FatalErrorException.h"
18#include "arcane/utils/TraceInfo.h"
19#include "arcane/utils/Ref.h"
21#include "arcane/core/IData.h"
22#include "arcane/core/IVariable.h"
23#include "arcane/core/VariableCollection.h"
25#include "arcane/impl/MemoryDataReaderWriter.h"
36MemoryDataReaderWriter::
37~MemoryDataReaderWriter()
45void MemoryDataReaderWriter::
48 m_vars_to_data.clear();
54void MemoryDataReaderWriter::
61 VarToDataMap vars_to_data = m_vars_to_data;
62 for (VariableCollection::Enumerator ivar(vars); ++ivar;) {
63 IVariable* var = *ivar;
64 VarToDataMap::iterator i = vars_to_data.find(var->fullName());
65 if (i != vars_to_data.end())
66 vars_to_data.erase(i);
69 for (VarToDataMap::iterator i = vars_to_data.begin(); i != vars_to_data.end(); ++i) {
71 m_vars_to_data.erase(i->first);
84 m_vars_to_data.insert(std::make_pair(var->
fullName(), cdata));
100 << String::format(
"can not find data for variable '{0}': variable will not be restored",
113 auto i = m_vars_to_data.find(var->
fullName());
114 if (i == m_vars_to_data.end())
Interface of a data item.
virtual void copy(const IData *data)=0
Copy the data data into the current instance.
virtual Ref< IData > cloneRef()=0
Clone the data.
virtual String fullName() const =0
Full variable name (with family prefix).
virtual void read(IVariable *var, IData *data)
Reads the data data of the variable var.
virtual void write(IVariable *var, IData *data)
Writes the data data of the variable var.
InstanceType * get() const
Associated instance or nullptr if none.
Reference to an instance.
TraceMessage warning() const
Flow for a warning message.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --