Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/Geant4/tools/impi is written in an unsupported language. File is not indexed.

0001 // Copyright (C) 2010, Guy Barrand. All rights reserved.
0002 // See the file tools.license for terms.
0003 
0004 #ifndef tools_impi
0005 #define tools_impi
0006 
0007 #include <string>
0008 #include <vector>
0009 
0010 #include "typedefs"
0011 
0012 namespace tools {
0013 
0014 class impi {
0015 public:
0016   virtual ~impi(){}
0017 public:
0018   virtual bool pack(char) = 0;
0019   virtual bool pack(short) = 0;
0020   virtual bool pack(int) = 0;
0021   virtual bool pack(unsigned int) = 0;
0022   virtual bool pack(uint64) = 0;
0023   virtual bool pack(int64) = 0;
0024   virtual bool pack(float) = 0;
0025   virtual bool pack(double)  = 0;
0026   virtual bool bpack(bool) = 0;
0027   virtual bool spack(const std::string&) = 0;
0028   virtual bool vpack(const std::vector<unsigned int>&) = 0;
0029   virtual bool vpack(const std::vector<int>&) = 0;
0030   virtual bool vpack(const std::vector<double>&) = 0;
0031   virtual bool pack(uint32,const char*) = 0;
0032   virtual bool pack(uint32,const int*) = 0;
0033 
0034   virtual bool unpack(char&) = 0;
0035   virtual bool unpack(short&) = 0;
0036   virtual bool unpack(int&) = 0;
0037   virtual bool unpack(unsigned int&) = 0;
0038   virtual bool unpack(uint64&) = 0;
0039   virtual bool unpack(int64&) = 0;
0040   virtual bool unpack(float&) = 0;
0041   virtual bool unpack(double&)  = 0;
0042   virtual bool bunpack(bool&) = 0;
0043   virtual bool sunpack(std::string&) = 0;
0044   virtual bool vunpack(std::vector<unsigned int>&) = 0;
0045   virtual bool vunpack(std::vector<int>&) = 0;
0046   virtual bool vunpack(std::vector<double>&) = 0;
0047   virtual bool unpack(uint32&,char*&) = 0;
0048   virtual bool unpack(uint32&,int*&) = 0;
0049 
0050   virtual void pack_reset() = 0;
0051   virtual bool send_buffer(int,int) = 0;
0052 
0053   virtual bool wait_buffer(int rank,int src,int tag,int& probe_src,bool verbose = false) = 0;
0054   virtual bool wait_buffer(int rank,int tag,int& probe_src,bool verbose = false) = 0; //MPI_ANY_SOURCE.
0055 };
0056 
0057 }
0058 
0059 #endif