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);
Constant view of an array of type T.
void removeDoneRequests() override
Removes completed requests from the list.
void clear() final
Removes all requests from the list.
virtual void _wait(eWaitType wait_type)=0
Performs the wait or test.
Int32 wait(eWaitType wait_type) final
Waits for or tests the completion of one or more requests.
Int32 size() const override
Number of requests.
ConstArrayView< Int32 > doneRequestIndexes() const final
Indices in the request array of requests completed during the last call to wait().
Int32 Integer
Type representing an integer.
std::int32_t Int32
Signed integer type of 32 bits.