Arcane  4.1.11.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ItemGroupsSerializer2.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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/* ItemGroupsSerializer2.h (C) 2000-2016 */
9/* */
10/* Serialization of entity groups. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MESH_ITEMGROUPSSERIALIZER2_H
13#define ARCANE_MESH_ITEMGROUPSSERIALIZER2_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/List.h"
18#include "arcane/utils/TraceAccessor.h"
19
21#include "arcane/core/ItemGroup.h"
22
23#include "arcane/mesh/MeshGlobal.h"
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28namespace Arcane
29{
30class IMesh;
31class SerializeBuffer;
34} // namespace Arcane
35
36/*---------------------------------------------------------------------------*/
37/*---------------------------------------------------------------------------*/
38
39namespace Arcane::mesh
40{
41
42/*---------------------------------------------------------------------------*/
43/*---------------------------------------------------------------------------*/
44
45/*---------------------------------------------------------------------------*/
46/*---------------------------------------------------------------------------*/
50class ItemGroupsSerializer2
51: public TraceAccessor
52{
53 public:
54
55 ItemGroupsSerializer2(IItemFamily* item_family, IParallelExchanger* exchanger);
56 virtual ~ItemGroupsSerializer2();
57
58 public:
59
60 void prepareData(ConstArrayView<SharedArray<Int32>> items_exchange);
61 void serialize(const ItemFamilySerializeArgs& args);
62 void get(ISerializer* sbuf, Int64Array& items_in_groups_uid);
63
64 ItemGroupList groups() { return m_groups_to_exchange; }
65 IMesh* mesh() const { return m_mesh; }
66 //eItemKind itemKind() const { return m_item_kind; }
67 IItemFamily* itemFamily() const { return m_item_family; }
68
69 protected:
70 private:
71
72 IParallelExchanger* m_exchanger;
73 IMesh* m_mesh;
74 IItemFamily* m_item_family;
83
84 private:
85};
86
87/*---------------------------------------------------------------------------*/
88/*---------------------------------------------------------------------------*/
89
90} // namespace Arcane::mesh
91
92/*---------------------------------------------------------------------------*/
93/*---------------------------------------------------------------------------*/
94
95#endif
Déclarations des types généraux de Arcane.
Vue constante d'un tableau de type T.
Interface d'une famille d'entités.
Definition IItemFamily.h:84
Échange d'informations entre processeurs.
Arguments des callbacks de sérialisation des familles d'entités.
Implémentation d'un tampon pour la sérialisation.
Vecteur 1D de données avec sémantique par référence.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Vecteur 1D de données avec sémantique par valeur (style STL).
ItemGroupList m_groups_to_exchange
List of groups to exchange.
UniqueArray< SharedArray< Int64 > > m_items_to_send
List of entities to exchange per processor.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Array< Int64 > Int64Array
Tableau dynamique à une dimension d'entiers 64 bits.
Definition UtilsTypes.h:125
List< ItemGroup > ItemGroupList
Tableau de groupes d'éléments du maillage.