30#include "b2ppconfig.h"
44 virtual ~Communicator(){};
47 virtual int rank()
const = 0;
50 virtual int NumRanks()
const = 0;
53 virtual bool IsRoot()
const = 0;
56 virtual void CmdOpts(cmdline::CmdLine& cmdline) = 0;
59 virtual int GetFcomm()
const = 0;
62 virtual void Abort(
int errorcode) = 0;
65 virtual void Barrier() = 0;
68 virtual void Recv(
char buffer[], uint64_t length,
int source,
int tag) = 0;
71 virtual void Send(
char buffer[], uint64_t length,
int target,
int tag) = 0;
74 virtual void Bcast(uint64_t buffer[], uint64_t length,
int root = 0) = 0;
75 virtual void Bcast(
int buffer[], uint64_t length,
int root = 0) = 0;
76 virtual void Bcast(
double buffer[], uint64_t length,
int root = 0) = 0;
80 virtual uint64_t ProbeByteCount(
int source,
int tag) = 0;
87std::shared_ptr<Communicator> CreateComm(
int argc,
char* argv[]);
Contains the base classes for implementing Finite Elements.
Definition b2boundary_condition.H:32