44 #ifndef EPETRA_DISTRIBUTOR_H
45 #define EPETRA_DISTRIBUTOR_H
96 const int * ExportPIDs,
98 int & NumRemoteIDs ) = 0;
117 const int * RemoteGIDs,
118 const int * RemotePIDs,
122 int *& ExportPIDs) = 0;
124 #ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
126 const long long * RemoteGIDs,
127 const int * RemotePIDs,
130 long long *& ExportGIDs,
131 int *& ExportPIDs) = 0;
139 virtual int Do(
char * export_objs,
141 int & len_import_objs,
142 char *& import_objs) = 0;
145 virtual int DoReverse(
char * export_objs,
147 int & len_import_objs,
148 char *& import_objs ) = 0;
151 virtual int DoPosts(
char * export_objs,
153 int & len_import_objs,
154 char *& import_objs ) = 0;
162 int & len_import_objs,
163 char *& import_objs) = 0;
173 virtual int Do(
char * export_objs,
176 int & len_import_objs,
177 char *& import_objs) = 0;
180 virtual int DoReverse(
char * export_objs,
183 int & len_import_objs,
184 char *& import_objs) = 0;
187 virtual int DoPosts(
char * export_objs,
190 int & len_import_objs,
191 char *& import_objs) = 0;
197 int & len_import_objs,
198 char *& import_objs) = 0;
203 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.