44 #ifndef EPETRA_DISTRIBUTOR_H
45 #define EPETRA_DISTRIBUTOR_H
47 #if defined(Epetra_SHOW_DEPRECATED_WARNINGS)
49 #warning "The Epetra package is deprecated"
104 const int * ExportPIDs,
106 int & NumRemoteIDs ) = 0;
125 const int * RemoteGIDs,
126 const int * RemotePIDs,
130 int *& ExportPIDs) = 0;
132 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
134 const long long * RemoteGIDs,
135 const int * RemotePIDs,
138 long long *& ExportGIDs,
139 int *& ExportPIDs) = 0;
147 virtual int Do(
char * export_objs,
149 int & len_import_objs,
150 char *& import_objs) = 0;
153 virtual int DoReverse(
char * export_objs,
155 int & len_import_objs,
156 char *& import_objs ) = 0;
159 virtual int DoPosts(
char * export_objs,
161 int & len_import_objs,
162 char *& import_objs ) = 0;
170 int & len_import_objs,
171 char *& import_objs) = 0;
181 virtual int Do(
char * export_objs,
184 int & len_import_objs,
185 char *& import_objs) = 0;
188 virtual int DoReverse(
char * export_objs,
191 int & len_import_objs,
192 char *& import_objs) = 0;
195 virtual int DoPosts(
char * export_objs,
198 int & len_import_objs,
199 char *& import_objs) = 0;
205 int & len_import_objs,
206 char *& import_objs) = 0;
211 virtual void Print(std::ostream & os)
const = 0;
Epetra_Distributor: The Epetra Gather/Scatter Setup Base Class.
virtual int DoReverse(char *export_objs, int obj_size, int &len_import_objs, char *&import_objs)=0
Execute reverse of plan on buffer of export objects in a single step.
virtual void Print(std::ostream &os) const =0
virtual int CreateFromSends(const int &NumExportIDs, const int *ExportPIDs, bool Deterministic, int &NumRemoteIDs)=0
Create Distributor object using list of process IDs to which we export.
virtual int DoReverseWaits()=0
Wait on a reverse set of posts.
virtual Epetra_Distributor * ReverseClone()=0
Create and extract the reverse version of the distributor.
virtual int DoWaits()=0
Wait on a set of posts.
virtual int Do(char *export_objs, int obj_size, int &len_import_objs, char *&import_objs)=0
Execute plan on buffer of export objects in a single step.
virtual int DoPosts(char *export_objs, int obj_size, int &len_import_objs, char *&import_objs)=0
Post buffer of export objects (can do other local work before executing Waits)
virtual ~Epetra_Distributor()
Epetra_Distributor Destructor.
virtual int DoReversePosts(char *export_objs, int obj_size, int &len_import_objs, char *&import_objs)=0
Do reverse post of buffer of export objects (can do other local work before executing Waits) ...
virtual int CreateFromRecvs(const int &NumRemoteIDs, const int *RemoteGIDs, const int *RemotePIDs, bool Deterministic, int &NumExportIDs, int *&ExportGIDs, int *&ExportPIDs)=0
Create Distributor object using list of Remote global IDs and corresponding PIDs. ...
virtual Epetra_Distributor * Clone()=0
Epetra_Distributor clone constructor.