Arcane  v3.15.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
AbstractDataVisitor.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 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/* AbstractDataVisitor.h (C) 2000-2024 */
9/* */
10/* Visiteur abstrait pour une donnée. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ABSTRACTDATAVISITOR_H
13#define ARCANE_CORE_ABSTRACTDATAVISITOR_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/IDataVisitor.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class IData;
29class IScalarData;
30class IArrayData;
31class IArray2Data;
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
41class ARCANE_CORE_EXPORT AbstractScalarDataVisitor
42: public IScalarDataVisitor
43{
44 public:
45
46 virtual void applyVisitor(IScalarDataT<Byte>* data);
47 virtual void applyVisitor(IScalarDataT<Real>* data);
48 virtual void applyVisitor(IScalarDataT<Int8>* data);
49 virtual void applyVisitor(IScalarDataT<Int16>* data);
50 virtual void applyVisitor(IScalarDataT<Int32>* data);
51 virtual void applyVisitor(IScalarDataT<Int64>* data);
52 virtual void applyVisitor(IScalarDataT<Real2>* data);
53 virtual void applyVisitor(IScalarDataT<Real3>* data);
54 virtual void applyVisitor(IScalarDataT<Real2x2>* data);
55 virtual void applyVisitor(IScalarDataT<Real3x3>* data);
56 virtual void applyVisitor(IScalarDataT<Float16>* data);
57 virtual void applyVisitor(IScalarDataT<BFloat16>* data);
58 virtual void applyVisitor(IScalarDataT<Float32>* data);
59 virtual void applyVisitor(IScalarDataT<String>* data);
60
61 protected:
62
63 void _throwException(eDataType dt);
64};
65
66/*---------------------------------------------------------------------------*/
67/*---------------------------------------------------------------------------*/
74class ARCANE_CORE_EXPORT AbstractArrayDataVisitor
75: public IArrayDataVisitor
76{
77 public:
78
79 virtual void applyVisitor(IArrayDataT<Byte>* data);
80 virtual void applyVisitor(IArrayDataT<Real>* data);
81 virtual void applyVisitor(IArrayDataT<Int8>* data);
82 virtual void applyVisitor(IArrayDataT<Int16>* data);
83 virtual void applyVisitor(IArrayDataT<Int32>* data);
84 virtual void applyVisitor(IArrayDataT<Int64>* data);
85 virtual void applyVisitor(IArrayDataT<Real2>* data);
86 virtual void applyVisitor(IArrayDataT<Real3>* data);
87 virtual void applyVisitor(IArrayDataT<Real2x2>* data);
88 virtual void applyVisitor(IArrayDataT<Real3x3>* data);
89 virtual void applyVisitor(IArrayDataT<Float16>* data);
90 virtual void applyVisitor(IArrayDataT<BFloat16>* data);
91 virtual void applyVisitor(IArrayDataT<Float32>* data);
92 virtual void applyVisitor(IArrayDataT<String>* data);
93
94 protected:
95
96 void _throwException(eDataType dt);
97};
98
99/*---------------------------------------------------------------------------*/
100/*---------------------------------------------------------------------------*/
107class ARCANE_CORE_EXPORT AbstractArray2DataVisitor
108: public IArray2DataVisitor
109{
110 public:
111
112 virtual void applyVisitor(IArray2DataT<Byte>* data);
113 virtual void applyVisitor(IArray2DataT<Real>* data);
114 virtual void applyVisitor(IArray2DataT<Int8>* data);
115 virtual void applyVisitor(IArray2DataT<Int16>* data);
116 virtual void applyVisitor(IArray2DataT<Int32>* data);
117 virtual void applyVisitor(IArray2DataT<Int64>* data);
118 virtual void applyVisitor(IArray2DataT<Real2>* data);
119 virtual void applyVisitor(IArray2DataT<Real3>* data);
120 virtual void applyVisitor(IArray2DataT<Real2x2>* data);
121 virtual void applyVisitor(IArray2DataT<Real3x3>* data);
122 virtual void applyVisitor(IArray2DataT<Float16>* data);
123 virtual void applyVisitor(IArray2DataT<BFloat16>* data);
124 virtual void applyVisitor(IArray2DataT<Float32>* data);
125
126 protected:
127
128 void _throwException(eDataType dt);
129};
130
131/*---------------------------------------------------------------------------*/
132/*---------------------------------------------------------------------------*/
139class ARCANE_CORE_EXPORT AbstractMultiArray2DataVisitor
141{
142 void _throwException(eDataType dt);
143};
144
145/*---------------------------------------------------------------------------*/
146/*---------------------------------------------------------------------------*/
153class ARCANE_CORE_EXPORT AbstractDataVisitor
158, public IDataVisitor
159{
160 public:
161
162 virtual void applyDataVisitor(IScalarData* data);
163 virtual void applyDataVisitor(IArrayData* data);
164 virtual void applyDataVisitor(IArray2Data* data);
165};
166
167/*---------------------------------------------------------------------------*/
168/*---------------------------------------------------------------------------*/
169
170}
171
172/*---------------------------------------------------------------------------*/
173/*---------------------------------------------------------------------------*/
174
175#endif
176
Visiteur abstrait pour une donnée tableau 2D.
Visiteur abstrait pour une donnée tableau.
Visiteur abstrait pour une donnée.
Visiteur abstrait pour une donnée tableau 2D à taille variable.
Visiteur abstrait pour une donnée scalaire.
Interface du pattern visitor pour une donnée tableau 2D.
Interface d'une donnée tableau 2D.
Definition IData.h:340
Interface du pattern visitor pour une donnée tableau.
Interface d'une donnée tableau 1D.
Definition IData.h:276
Interface du pattern visitor pour une donnée.
Interface du pattern visitor pour une donnée tableau 2D à taille variable.
Interface du pattern visitor pour une donnée scalaire.
Interface d'une donnée scalaire.
Definition IData.h:227
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:149
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eDataType
Type d'une donnée.
Definition DataTypes.h:39