12#ifndef ARCCORE_MESSAGEPASSING_REQUESTLISTBASE_H
13#define ARCCORE_MESSAGEPASSING_REQUESTLISTBASE_H
17#include "arccore/message_passing/IRequestList.h"
18#include "arccore/message_passing/Request.h"
19#include "arccore/collections/Array.h"
24namespace Arcane::MessagePassing::internal
30class ARCCORE_MESSAGEPASSING_EXPORT RequestListBase
35 RequestListBase() =
default;
42 Int32 size()
const override {
return m_requests.size(); }
44 void removeDoneRequests() override;
51 virtual
void _add(const
Request& r)
54 m_requests_done.add(
false);
58 m_requests.addRange(rlist);
59 m_requests_done.addRange(
false,rlist.
size());
61 virtual void _removeRequestAtIndex(
Integer pos)
63 m_requests.remove(pos);
64 m_requests_done.remove(pos);
92namespace Arccore::MessagePassing::internal
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
Liste de requête de messages.
bool isRequestDone(Int32 index) const override
Indique si la requête est terminée depuis le dernier appel à wait()
void add(Request r) override
Ajoute la requête r à la liste des requêtes.
Request request(Int32 index) const override
index-ième requête de la liste
virtual void _wait(eWaitType wait_type)=0
Effectue l'attente ou le test.
Int32 size() const override
Nombre de requêtes.
void add(Span< Request > r) override
Ajoute la liste de requêtes rlist à la liste des requêtes.
constexpr __host__ __device__ SizeType size() const noexcept
Retourne la taille du tableau.
Vue d'un tableau d'éléments de type T.
Vecteur 1D de données avec sémantique par valeur (style STL).
Int32 Integer
Type représentant un entier.
std::int32_t Int32
Type entier signé sur 32 bits.