54 virtual void send(
double itemToSend,
Rank rankReceiver)
override;
64 virtual void send(
int itemToSend,
Rank rankReceiver)
override;
74 virtual void send(
bool itemToSend,
Rank rankReceiver)
override;
100 virtual void receive(
double &itemToReceive,
Rank rankSender)
override;
110 virtual void receive(
int &itemToReceive,
Rank rankSender)
override;
120 virtual void receive(
bool &itemToReceive,
Rank rankSender)
override;
Interface for all interprocess communication classes.
Provides implementation for basic MPI point-to-point communication.
virtual void receive(std::string &itemToReceive, Rank rankSender) override
Receives a std::string from process with given rank.
virtual PtrRequest aReceive(precice::span< double > itemsToReceive, int rankSender) override
Asynchronously receives an array of double values.
virtual MPI_Comm & communicator(Rank rank)=0
Returns the communicator.
virtual PtrRequest aSend(precice::span< const int > itemsToSend, Rank rankReceiver) override
Asynchronously sends an array of integer values.
virtual void send(std::string const &itemToSend, Rank rankReceiver) override
Sends a std::string to process with given rank.
virtual ~MPICommunication()
Destructor, empty.
virtual Rank rank(int rank)=0
This class provides a lightweight logger.
A C++ 11 implementation of the non-owning C++20 std::span type.
Main namespace of the precice library.