Main Page   Class Hierarchy   Compound List   File List   Compound Members  

PG_mpi_traits.hpp

00001 #ifndef _PG_MPI_TRAITS_
00002 #define _PG_MPI_TRAITS_
00003 
00004 #include "mpi.h"
00005 
00006 namespace ParGraph
00007 {
00008 template< class A >
00009 struct mpi_traits
00010 {
00011 };
00012 
00013 template<>
00014 struct mpi_traits<int>
00015 {
00016   const MPI_Datatype mpi_type;
00017   mpi_traits() : mpi_type(MPI_INT) {}
00018   // static const MPI_Datatype mpi_type = MPI_INT;
00019 };
00020 
00021 template<>
00022 struct mpi_traits<unsigned int>
00023 {
00024   const MPI_Datatype mpi_type;
00025   mpi_traits() : mpi_type(MPI_UNSIGNED) {}
00026   //static const MPI_Datatype mpi_type = MPI_UNSIGNED;
00027 };
00028 
00029 template<>
00030 struct mpi_traits<const unsigned int>
00031 {
00032   const MPI_Datatype mpi_type;
00033   mpi_traits() : mpi_type(MPI_UNSIGNED) {}
00034   // static const MPI_Datatype mpi_type = MPI_UNSIGNED;
00035 };
00036 
00037 template<>
00038 struct mpi_traits<short int>
00039 {
00040   const MPI_Datatype mpi_type;
00041   mpi_traits() : mpi_type(MPI_SHORT) {}
00042   // static const MPI_Datatype mpi_type = MPI_SHORT;
00043 };
00044 
00045 template<>
00046 struct mpi_traits<char>
00047 {
00048   const MPI_Datatype mpi_type;
00049   mpi_traits() : mpi_type(MPI_CHAR) {}
00050   // static const MPI_Datatype mpi_type = MPI_CHAR;
00051 };
00052 
00053 }
00054 #endif

Generated on Sun Feb 29 05:14:24 2004 for ParGraph by doxygen1.3-rc3