15#ifndef ARCCORE_MESSAGEPASSING_INTERNAL_IMACHINESHMEMWINBASEINTERNAL_H
16#define ARCCORE_MESSAGEPASSING_INTERNAL_IMACHINESHMEMWINBASEINTERNAL_H
21#include "arccore/collections/Array.h"
General declarations for the 'message_passing' component.
Constant view of an array of type T.
Class allowing the creation of memory windows for a computing node.
virtual ConstArrayView< Int32 > machineRanks() const =0
Method to get the ranks that possess a segment in the window.
virtual Span< const std::byte > segmentConstView() const =0
Method to get a view of our segment.
virtual Int32 sizeofOneElem() const =0
Method to get the size of an element in the window.
virtual void addToAnotherSegment()=0
virtual void addToAnotherSegment(Int32 rank, Span< const std::byte > elem)=0
Method to add elements into the segment of another subdomain.
virtual void shrink()=0
Method to reduce the reserved memory space for the segments to the minimum necessary.
virtual void barrier() const =0
Method to wait until all processes/threads of the node call this method to continue execution.
virtual Span< std::byte > segmentView(Int32 rank)=0
Method to get a view of the segment of another subdomain of the node.
virtual Span< std::byte > segmentView()=0
Method to get a view of our segment.
virtual Span< const std::byte > segmentConstView(Int32 rank) const =0
Method to get a view of the segment of another subdomain of the node.
virtual void reserve(Int64 new_capacity)=0
Method to reserve memory space in our segment.
virtual void add(Span< const std::byte > elem)=0
Method to add elements into our segment.
virtual void resize(Int64 new_size)=0
Method to resize our segment.
View of an array of elements of type T.
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.