Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
MessageSourceInfo.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/* MessageSourceInfo.h (C) 2000-2022 */
9/* */
10/* Informations sur la source d'un message. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCCORE_MESSAGEPASSING_MESSAGESOURCEINFO_H
13#define ARCCORE_MESSAGEPASSING_MESSAGESOURCEINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arccore/message_passing/MessageTag.h"
18#include "arccore/message_passing/MessageRank.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
35class ARCCORE_MESSAGEPASSING_EXPORT MessageSourceInfo
36{
37 public:
38
40 MessageSourceInfo() = default;
41
48 : m_rank(rank)
49 , m_tag(tag)
50 , m_size(size)
51 {}
52
53 public:
54
56 MessageRank rank() const { return m_rank; }
57
59 void setRank(MessageRank rank) { m_rank = rank; }
60
62 MessageTag tag() const { return m_tag; }
63
65 void setTag(MessageTag tag) { m_tag = tag; }
66
68 Int64 size() const { return m_size; }
69
71 void setSize(Int64 size) { m_size = size; }
72
74 bool isValid() const { return !m_rank.isNull() && !m_tag.isNull(); }
75
76 private:
77
78 MessageRank m_rank;
79 MessageTag m_tag;
80 Int64 m_size = 0;
81};
82
83/*---------------------------------------------------------------------------*/
84/*---------------------------------------------------------------------------*/
85
86} // End namespace Arccore::MessagePassing
87
88/*---------------------------------------------------------------------------*/
89/*---------------------------------------------------------------------------*/
90
91#endif
92
Informations sur la source d'un message.
MessageTag tag() const
Tag du message.
MessageSourceInfo()=default
Créé une source correspondant à aucun message (isValid()==false)
void setSize(Int64 size)
Positionne la taille du message.
MessageSourceInfo(MessageRank rank, MessageTag tag, Int64 size)
Créé une source correspondant au rang rank et au tag tag.
Int64 size() const
Taille du message.
MessageRank rank() const
Rang de la source.
bool isValid() const
Indique si la source est valide.
void setTag(MessageTag tag)
Positionne le tag du message.
void setRank(MessageRank rank)
Positionne le rang de la source.
Espace de nommage contenant les types et déclarations qui gèrent le mécanisme de parallélisme par éch...
std::int64_t Int64
Type entier signé sur 64 bits.