Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ItemFamilyVariableSerializer.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/* ItemFamilyVariableSerializer.h (C) 2000-2016 */
9/* */
10/* Gère la sérialisation/désérialisation des variables d'une famille. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MESH_ITEMFAMILYVARIABLESERIALIZER_H
13#define ARCANE_MESH_ITEMFAMILYVARIABLESERIALIZER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18
19#include "arcane/IItemFamilySerializeStep.h"
20
21#include "arcane/mesh/MeshGlobal.h"
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26ARCANE_BEGIN_NAMESPACE
27class IVariable;
28class ItemFamilySerializeArgs;
29ARCANE_MESH_BEGIN_NAMESPACE
30
31/*---------------------------------------------------------------------------*/
32/*---------------------------------------------------------------------------*/
33
34/*---------------------------------------------------------------------------*/
35/*---------------------------------------------------------------------------*/
39class ARCANE_MESH_EXPORT ItemFamilyVariableSerializer
40: public TraceAccessor
42{
43 public:
46 public:
47 void initialize() override;
48 void notifyAction(const NotifyActionArgs&) override {}
49 void serialize(const ItemFamilySerializeArgs& args) override;
50 void finalize() override{}
51 ePhase phase() const override { return IItemFamilySerializeStep::PH_Variable; }
52 IItemFamily* family() const override { return m_item_family; }
53 protected:
54 IItemFamily* _family() const { return m_item_family; }
55 private:
56 IItemFamily* m_item_family;
64
65 private:
66 void _serializePartialVariable(IVariable* var,ISerializer* sbuf,Int32ConstArrayView local_ids);
67 void _checkSerialization(ISerializer* sbuf,Int32ConstArrayView local_ids);
68 void _checkSerializationVariable(ISerializer* sbuf,IVariable* var);
69};
70
71/*---------------------------------------------------------------------------*/
72/*---------------------------------------------------------------------------*/
73
74ARCANE_MESH_END_NAMESPACE
75ARCANE_END_NAMESPACE
76
77/*---------------------------------------------------------------------------*/
78/*---------------------------------------------------------------------------*/
79
80#endif
Interface d'une étape de la sérialisation des familles d'entités.
virtual void initialize()=0
Initialise l'instance avant le début des échanges.
virtual void serialize(const ItemFamilySerializeArgs &args)=0
Sérialise dans/depuis buf.
Interface d'une famille d'entités.
Interface d'une variable.
Definition IVariable.h:54
Arguments des callbacks de sérialisation des familles d'entités.
Gère la sérialisation/désérialisation des variables d'une famille.
UniqueArray< IVariable * > m_variables_to_exchange
Liste des variables à échanger.
ePhase phase() const override
Phase de la sérialisation où cette instance intervient.
void notifyAction(const NotifyActionArgs &) override
Notifie l'instance qu'on entre dans une certaine phase de l'échange.
IItemFamily * family() const override
Famille associée.
void finalize() override
Effectue les traitements de fin d'échange.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Vue constante d'un tableau de type T.