PaCO++
0.05
|
00001 #ifndef __PACO_com__ 00002 #define __PACO_com__ 00003 00004 #include "FabriqueManagerTpl.h" 00005 #include <string> 00006 #include <map> 00007 #include <iostream> 00008 00009 using namespace std; 00010 00011 class paco_com 00012 { 00013 public: 00014 virtual ~paco_com() {}; 00015 00016 virtual int paco_rank(int * rank) = 0; 00017 virtual int paco_barrier() = 0; 00018 00019 virtual int paco_bcast(void* buf, int count, int root) = 0; 00020 }; 00021 00022 // Abstract class to be implemeted by each fabrique 00023 class paco_fabrique_com { 00024 public: 00025 virtual ~paco_fabrique_com() {} 00026 virtual paco_com* paco_create(void* group)=0; 00027 }; 00028 00029 // The com fabrique 00030 typedef paco_fabrique_manager_tpl<paco_fabrique_com> paco_fabrique_manager_com; 00031 00032 #endif