Arcane  v3.16.0.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:
44 ItemFamilyVariableSerializer(IItemFamily* family);
45 ~ItemFamilyVariableSerializer();
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:
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.
Definition IItemFamily.h:84
Interface d'une variable.
Definition IVariable.h:56
Arguments des callbacks de sérialisation des familles d'entités.
UniqueArray< IVariable * > m_variables_to_exchange
Liste des variables à échanger.
void _serializePartialVariable(IVariable *var, ISerializer *sbuf, Int32ConstArrayView local_ids)
Serialise une variable partielle.
void _checkSerializationVariable(ISerializer *sbuf, IVariable *var)
Sérialise le nom de la variable pour vérifier que la désérialisation est correcte.
void _checkSerialization(ISerializer *sbuf, Int32ConstArrayView local_ids)
Sérialize un nombre magique et le nombre d'entité afin de vérifier que la désérialisation est correct...
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.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Vecteur 1D de données avec sémantique par valeur (style STL).
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition UtilsTypes.h:569