#ifndef EP_TYPE_HPP_INCLUDED #define EP_TYPE_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef _Debug #define Debug(x) std::cout << x << std::endl #else #define Debug(x) #endif #ifdef _Memory_check #define memcheck(x) std::cout << x << std::endl #else #define memcheck(x) #endif #define BUFFER_SIZE 10000 #include "ep_status.hpp" #include "ep_request.hpp" #include "ep_info.hpp" #include "ep_message.hpp" #include "ep_barrier.hpp" #include "ep_comm.hpp" #include "ep_intercomm.hpp" #include "ep_window.hpp" namespace ep_lib { class ep_communicator; class ep_intercomm; class MPI_Aint { public: void* mpi_aint; MPI_Aint() {} MPI_Aint(void* aint); MPI_Aint(int aint); MPI_Aint operator=(int a); }; class MPI_Fint { public: void* mpi_fint; MPI_Fint() {} MPI_Fint(void* fint); }; static MPI_Comm *passage; static int TAG = 40000; static std::list, MPI_Comm * > > tag_list; static std::list< std::pair , std::pair > > > intercomm_list; static std::map, MPI_Comm > fc_comm_map; } #endif // EP_TYPE_HPP_INCLUDED