Arcane  v3.16.8.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IDataReader2.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* IDataReader2.h (C) 2000-2025 */
9/* */
10/* Interface de lecture des données d'une variable. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IDATAREADER2_H
13#define ARCANE_CORE_IDATAREADER2_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
29class IData;
30
31/*---------------------------------------------------------------------------*/
32/*---------------------------------------------------------------------------*/
33/*!
34 * \brief Informations de relecture des données.
35 */
36class ARCANE_CORE_EXPORT DataReaderInfo
37{
38 public:
39 DataReaderInfo(){}
40 public:
41};
42
43/*---------------------------------------------------------------------------*/
44/*---------------------------------------------------------------------------*/
45/*!
46 * \brief Informations de relecture des données d'une variable.
47 */
48class ARCANE_CORE_EXPORT VariableDataReadInfo
49{
50 public:
51 VariableDataReadInfo(VariableMetaData* varmd,IData* data)
52 : m_varmd(varmd), m_data(data){}
53 public:
54 VariableMetaData* variableMetaData() const { return m_varmd; }
55 IData* data() const { return m_data; }
56 private:
57 VariableMetaData* m_varmd;
58 IData* m_data;
59};
60
61/*---------------------------------------------------------------------------*/
62/*---------------------------------------------------------------------------*/
63/*!
64 * \ingroup IO
65 * \brief Interface de lecture des données d'une variable (Version 2)
66 *
67 * Cette interface permet de lire les données d'une variable à partir
68 * d'un fichier de protection.
69 *
70 * Cette interface est en générale utilisée par
71 * IVariableMng::readCheckpoint(). L'ordre d'appel des opérations
72 * est le suivant:
73 * \code
74 * IDataReader2 reader = ...;
75 * DataReaderInfo read_infos = ...
76 * reader->fillMetaData(...);
77 * reader->beginRead(read_infos);
78 * for( const VariableDataReadInfo& i : variables )
79 * reader->read(i);
80 * reader->endRead();
81 * \endcode
82 */
84{
85 public:
86
87 //! Libère les ressources
88 virtual ~IDataReader2(){}
89
90 public:
91
92 //! Remplit \a bytes avec le contenu des méta-données
93 virtual void fillMetaData(ByteArray& bytes) =0;
94 //! Notifie du début de lecture des données
95 virtual void beginRead(const DataReaderInfo& infos) =0;
96 //! Lit les données des informations spécifiées par \a infos
97 virtual void read(const VariableDataReadInfo& infos) =0;
98 //! Notifie de la fin de lecture des données
99 virtual void endRead() =0;
100};
101
102/*---------------------------------------------------------------------------*/
103/*---------------------------------------------------------------------------*/
104
105} // End namespace Arcane
106
107/*---------------------------------------------------------------------------*/
108/*---------------------------------------------------------------------------*/
109
110#endif
111
Déclarations des types généraux de Arcane.
Informations de relecture des données.
Interface de lecture des données d'une variable (Version 2)
virtual ~IDataReader2()
Libère les ressources.
virtual void read(const VariableDataReadInfo &infos)=0
Lit les données des informations spécifiées par infos.
virtual void fillMetaData(ByteArray &bytes)=0
Remplit bytes avec le contenu des méta-données.
virtual void beginRead(const DataReaderInfo &infos)=0
Notifie du début de lecture des données.
virtual void endRead()=0
Notifie de la fin de lecture des données.
Interface d'une donnée.
Definition IData.h:33
Informations de relecture des données d'une variable.
Meta-données sur une variable.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Array< Byte > ByteArray
Tableau dynamique à une dimension de caractères.
Definition UtilsTypes.h:208