14#include "arccore/message_passing/RequestListBase.h"
15#include "arccore/base/NotImplementedException.h"
20namespace Arcane::MessagePassing::internal
30 m_requests_done.clear();
31 m_done_request_indexes.clear();
41 for(
Integer i=0, n=m_requests.size(); i<n; ++i ){
42 if (m_requests_done[i]){
43 _removeRequestAtIndex(i);
48 m_done_request_indexes.clear();
57 return m_done_request_indexes.view();
66 m_requests_done.fill(
false);
72 if (wait_type==WaitAll)
73 m_requests_done.fill(
true);
76 m_done_request_indexes.clear();
77 m_done_request_indexes.reserve(nb_request);
79 for(
Integer i=0; i<nb_request; ++i )
80 if (m_requests_done[i]){
81 m_done_request_indexes.add(i);
Vue constante d'un tableau de type T.
void removeDoneRequests() override
Supprime de la liste les requêtes terminées.
void clear() final
Supprime toutes les requêtes de la liste.
virtual void _wait(eWaitType wait_type)=0
Effectue l'attente ou le test.
Int32 wait(eWaitType wait_type) final
Attend ou test la complétion de une ou plusieurs requêtes.
Int32 size() const override
Nombre de requêtes.
ConstArrayView< Int32 > doneRequestIndexes() const final
Indices dans le tableaux des requêtes des requêtes terminées lors du dernier appel à wait().
Int32 Integer
Type représentant un entier.
std::int32_t Int32
Type entier signé sur 32 bits.