14#include "arccore/message_passing/RequestListBase.h"
15#include "arccore/base/NotImplementedException.h"
20namespace Arccore::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);
void reserve(Int64 new_capacity)
Réserve le mémoire pour new_capacity éléments.
ArrayView< T > view() const
Vue mutable sur ce tableau.
void fill(ConstReferenceType value)
Remplit le tableau avec la valeur value.
void add(ConstReferenceType val)
Ajoute l'élément val à la fin du tableau.
void clear()
Supprime les éléments du tableau.
Vue constante d'un tableau de type T.
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.
void removeDoneRequests() override
Supprime de la liste les requêtes terminées.
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.