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.