Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
DumpW.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* DumpW.h (C) 2000-2022 */
9/* */
10/* Wrapper of IDataWriter under the old IDumpW interface. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_STD_DUMPW_H
13#define ARCANE_STD_DUMPW_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/core/IDataWriter.h"
19
20#include "arcane/utils/Array.h"
21#include "arcane/utils/Array2.h"
22#include "arcane/utils/Array2View.h"
23#include "arcane/utils/MultiArray2.h"
24#include "arcane/utils/MultiArray2View.h"
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29namespace Arcane
30{
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35class IVariable;
36class IData;
37
38/*---------------------------------------------------------------------------*/
39/*---------------------------------------------------------------------------*/
40
44class ARCANE_STD_EXPORT DumpW
45: public IDataWriter
46{
47 public:
48
50 DumpW();
51
53 virtual ~DumpW();
54
55 public:
56
58 void beginWrite(const VariableCollection& vars);
59
61 void write(IVariable* var, IData* data);
62
63 public:
64
66 virtual void endWrite() = 0;
67
69 virtual void setMetaData(const String& meta_data) = 0;
70
71 protected:
72
74 class DataVisitor;
75
77 virtual void beginWrite() = 0;
78
80 virtual void writeVal(IVariable& v, ConstArrayView<Byte> a) = 0;
81 virtual void writeVal(IVariable& v, ConstArrayView<Real> a) = 0;
82 virtual void writeVal(IVariable& v, ConstArrayView<Int64> a) = 0;
83 virtual void writeVal(IVariable& v, ConstArrayView<Int32> a) = 0;
85 {
86 throw NotSupportedException(A_FUNCINFO);
87 }
88 virtual void writeVal(IVariable& v, ConstArrayView<Real2> a) = 0;
89 virtual void writeVal(IVariable& v, ConstArrayView<Real3> a) = 0;
90 virtual void writeVal(IVariable& v, ConstArrayView<Real2x2> a) = 0;
91 virtual void writeVal(IVariable& v, ConstArrayView<Real3x3> a) = 0;
92 virtual void writeVal(IVariable& v, ConstArrayView<String> a) = 0;
93
94 virtual void writeVal(IVariable& v, ConstArray2View<Byte> a) = 0;
95 virtual void writeVal(IVariable& v, ConstArray2View<Real> a) = 0;
96 virtual void writeVal(IVariable& v, ConstArray2View<Int64> a) = 0;
97 virtual void writeVal(IVariable& v, ConstArray2View<Int32> a) = 0;
98 virtual void writeVal(IVariable&, ConstArray2View<Int16>)
99 {
100 throw NotSupportedException(A_FUNCINFO);
101 }
102 virtual void writeVal(IVariable& v, ConstArray2View<Real2> a) = 0;
103 virtual void writeVal(IVariable& v, ConstArray2View<Real3> a) = 0;
104 virtual void writeVal(IVariable& v, ConstArray2View<Real2x2> a) = 0;
105 virtual void writeVal(IVariable& v, ConstArray2View<Real3x3> a) = 0;
106
107 virtual void writeVal(IVariable& v, ConstMultiArray2View<Byte> a) = 0;
108 virtual void writeVal(IVariable& v, ConstMultiArray2View<Real> a) = 0;
109 virtual void writeVal(IVariable& v, ConstMultiArray2View<Int64> a) = 0;
110 virtual void writeVal(IVariable& v, ConstMultiArray2View<Int32> a) = 0;
111 virtual void writeVal(IVariable&, ConstMultiArray2View<Int16>)
112 {
113 throw NotSupportedException(A_FUNCINFO);
114 }
115 virtual void writeVal(IVariable& v, ConstMultiArray2View<Real2> a) = 0;
116 virtual void writeVal(IVariable& v, ConstMultiArray2View<Real3> a) = 0;
117 virtual void writeVal(IVariable& v, ConstMultiArray2View<Real2x2> a) = 0;
118 virtual void writeVal(IVariable& v, ConstMultiArray2View<Real3x3> a) = 0;
119};
120
121/*---------------------------------------------------------------------------*/
122/*---------------------------------------------------------------------------*/
123
124} // End namespace Arcane
125
126/*---------------------------------------------------------------------------*/
127/*---------------------------------------------------------------------------*/
128
129#endif
Declarations of Arcane's general types.
Constant view of an array of type T.
virtual void beginWrite()=0
Notifies the start of writing.
DumpW()
Constructor.
Definition DumpW.cc:155
virtual void writeVal(IVariable &v, ConstArrayView< Byte > a)=0
Writing for variable v of array a.
virtual void endWrite()=0
Notifies the end of writing.
void write(IVariable *var, IData *data)
Writes the data data of the variable var.
Definition DumpW.cc:179
virtual void setMetaData(const String &meta_data)=0
Sets metadata information.
void beginWrite(const VariableCollection &vars)
Notifies the start of writing.
Definition DumpW.cc:170
Interface for writing variable data.
Definition IDataWriter.h:45
Interface of a data item.
Definition IData.h:34
Interface of a variable.
Definition IVariable.h:40
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --