Arcane  v3.16.4.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-2025 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-2025 */
9/* */
10/* Arguments des callbacks de sérialisation des familles d'entités. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ITEMFAMILYSERIALIZEARGS_H
13#define ARCANE_CORE_ITEMFAMILYSERIALIZEARGS_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/ArrayView.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \ingroup Mesh
30 * \brief Arguments des callbacks de sérialisation des familles d'entités.
31 *
32 * La signification des arguments dépend du mode de sérialisation.
33 *
34 * En mode ISerializer::ModeReserve ou ISerializer::ModePut:
35 * - rank() est le rang de la famille de destination
36 * - localIds() contient les indices locaux des entités qui seront envoyés
37 * à la famille destination.
38 *
39 * En mode ISerializer::ModeGet:
40 * - rank() est le rang de la famille d'origine.
41 * - localIds() contient les indices locaux des entités qu'on vient de recevoir.
42 *
43 */
44class ARCANE_CORE_EXPORT ItemFamilySerializeArgs
45{
46 public:
47
48 ItemFamilySerializeArgs(ISerializer* aserializer, Int32 arank,
49 Int32ConstArrayView local_ids, Integer message_index)
50 : m_serializer(aserializer)
51 , m_rank(arank)
52 , m_local_ids(local_ids)
53 , m_message_index(message_index)
54 {}
55
56 public:
57
58 //! Sérialiseur associé
59 ISerializer* serializer() const { return m_serializer; }
60
61 /*!
62 * \brief Rang de la source ou de la destination.
63 *
64 * En sérialisation, il s'agit du rang de la destination et en
65 * désérialisation il s'agit du rang de la source.
66 */
67 Int32 rank() const { return m_rank; }
68
69 /*!
70 * \brief Indices locaux des entités.
71 * En sérialisation, il s'agit des indices locaux des entités envoyées au
72 * rang \a rank(). En désérialisation, il s'agit des indices locaux
73 * recues par le rang \a rank().
74 */
75 Int32ConstArrayView localIds() const { return m_local_ids; }
76
77 //! Indice du message dans la liste des messages
78 Integer messageIndex() const { return m_message_index; }
79
80 public:
81
82 ISerializer* m_serializer = nullptr;
83 Int32 m_rank = A_NULL_RANK;
84 Int32ConstArrayView m_local_ids;
85 Integer m_message_index = -1;
86};
87
88/*---------------------------------------------------------------------------*/
89/*---------------------------------------------------------------------------*/
90
91} // namespace Arcane
92
93/*---------------------------------------------------------------------------*/
94/*---------------------------------------------------------------------------*/
95
96#endif
Déclarations des types utilisés dans Arcane.
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é
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition UtilsTypes.h:569
std::int32_t Int32
Type entier signé sur 32 bits.