PaCO++  0.05
paco_com.h
Go to the documentation of this file.
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