Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ItemFamilySerializeArgs.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/* ItemFamilySerializeArgs.h (C) 2000-2016 */
9/* */
10/* Arguments des callbacks de sérialisation des familles d'entités. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_ITEMFAMILYSERIALIZEARGS_H
13#define ARCANE_ITEMFAMILYSERIALIZEARGS_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/ArrayView.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23ARCANE_BEGIN_NAMESPACE
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \ingroup Mesh
29 * \brief Arguments des callbacks de sérialisation des familles d'entités.
30 *
31 * La signification des arguments dépend du mode de sérialisation.
32 *
33 * En mode ISerializer::ModeReserve ou ISerializer::ModePut:
34 * - rank() est le rang de la famille de destination
35 * - localIds() contient les indices locaux des entités qui seront envoyés
36 * à la famille destination.
37 *
38 * En mode ISerializer::ModeGet:
39 * - rank() est le rang de la famille d'origine.
40 * - localIds() contient les indices locaux des entités qu'on vient de recevoir.
41 *
42 */
43class ARCANE_CORE_EXPORT ItemFamilySerializeArgs
44{
45 public:
46
47 ItemFamilySerializeArgs(ISerializer* aserializer,Int32 arank,
48 Int32ConstArrayView local_ids,Integer message_index)
49 : m_serializer(aserializer), m_rank(arank), m_local_ids(local_ids)
50 , m_message_index(message_index) {}
51
52 public:
53
54 //! Sérialiseur associé
55 ISerializer* serializer() const { return m_serializer; }
56
57 /*!
58 * \brief Rang de la source ou de la destination.
59 *
60 * En sérialisation, il s'agit du rang de la destination et en
61 * désérialisation il s'agit du rang de la source.
62 */
63 Int32 rank() const { return m_rank; }
64
65 /*!
66 * \brief Indices locaux des entités.
67 * En sérialisation, il s'agit des indices locaux des entités envoyées au
68 * rang \a rank(). En désérialisation, il s'agit des indices locaux
69 * recues par le rang \a rank().
70 */
71 Int32ConstArrayView localIds() const { return m_local_ids; }
72
73 //! Indice du message dans la liste des messages
74 Integer messageIndex() const { return m_message_index; }
75
76 public:
77
78 ISerializer* m_serializer;
79 Int32 m_rank;
80 Int32ConstArrayView m_local_ids;
81 Integer m_message_index;
82};
83
84/*---------------------------------------------------------------------------*/
85/*---------------------------------------------------------------------------*/
86
87ARCANE_END_NAMESPACE
88
89/*---------------------------------------------------------------------------*/
90/*---------------------------------------------------------------------------*/
91
92#endif
Déclarations des types utilisés dans Arcane.
Arguments des callbacks de sérialisation des familles d'entités.
Integer messageIndex() const
Indice du message dans la liste des messages.
Int32 rank() const
Rang de la source ou de la destination.
Int32ConstArrayView localIds() const
Indices locaux des entités. En sérialisation, il s'agit des indices locaux des entités envoyées au ra...
ISerializer * serializer() const
Sérialiseur associé
Vue constante d'un tableau de type T.