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
34class ARCCORE_MESSAGEPASSING_EXPORT RequestListBase
39 RequestListBase() =
default;
46 Int32 size()
const override {
return m_requests.size(); }
48 void removeDoneRequests() override;
55 virtual
void _add(const
Request& r)
58 m_requests_done.add(
false);
62 m_requests.addRange(rlist);
63 m_requests_done.addRange(
false, rlist.
size());
65 virtual void _removeRequestAtIndex(
Integer pos)
67 m_requests.remove(pos);
68 m_requests_done.remove(pos);
99namespace Arccore::MessagePassing::internal
Modifiable view of an array of type T.
Constant view of an array of type T.
Base class of a request list.
bool isRequestDone(Int32 index) const override
Indicates if the request is finished since the last call to wait().
void add(Request r) override
Adds the request r to the list of requests.
Request request(Int32 index) const override
The index-th request in the list.
virtual void _wait(eWaitType wait_type)=0
Performs the wait or test.
Int32 size() const override
Number of requests.
void add(Span< Request > r) override
Adds the list of requests rlist to the list of requests.
constexpr __host__ __device__ SizeType size() const noexcept
Returns the size of the array.
View of an array of elements of type T.
1D data vector with value semantics (STL style).
Int32 Integer
Type representing an integer.
std::int32_t Int32
Signed integer type of 32 bits.