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