16#ifndef ARCANE_PARALLEL_THREAD_INTERNAL_SHAREDMEMORYMACHINESHMEMWINBASEINTERNAL_H
17#define ARCANE_PARALLEL_THREAD_INTERNAL_SHAREDMEMORYMACHINESHMEMWINBASEINTERNAL_H
22#include "arccore/message_passing/internal/IMachineShMemWinBaseInternal.h"
25#include "arcane/utils/Ref.h"
36class ARCANE_THREAD_EXPORT SharedMemoryMachineShMemWinBaseInternal
43 ~SharedMemoryMachineShMemWinBaseInternal()
override =
default;
74 Int32 m_sizeof_type = 0;
Declarations of Arcane's general types.
Constant view of an array of type T.
Interface of a barrier between threads.
Class allowing the creation of memory windows for a computing node.
void add(Span< const std::byte > elem) override
Method to add elements into our segment.
Span< std::byte > segmentView() override
Method to get a view of our segment.
ConstArrayView< Int32 > machineRanks() const override
Method to get the ranks that possess a segment in the window.
void resize(Int64 new_size) override
Method to resize our segment.
Int32 sizeofOneElem() const override
Method to get the size of an element in the window.
void barrier() const override
Method to wait until all processes/threads of the node call this method to continue execution.
void shrink() override
Method to reduce the reserved memory space for the segments to the minimum necessary.
Span< const std::byte > segmentConstView() const override
Method to get a view of our segment.
void reserve(Int64 new_capacity) override
Method to reserve memory space in our segment.
void addToAnotherSegment(Int32 rank, Span< const std::byte > elem) override
Method to add elements into the segment of another subdomain.
Reference to an instance.
View of an array of elements of type T.
View of an array of elements of type T.
1D data vector with value semantics (STL style).
Declarations of types and methods used by message exchange mechanisms.
std::int64_t Int64
Signed integer type of 64 bits.
std::int32_t Int32
Signed integer type of 32 bits.