1 #ifndef __TSQR_MpiCommFactory_hpp 2 #define __TSQR_MpiCommFactory_hpp 5 #include <Tsqr_Config.hpp> 6 #include <Tsqr_MpiMessenger.hpp> 7 #include <Teuchos_RCP.hpp> 17 template<
class Scalar >
18 Teuchos::RCP< MessengerBase< Scalar > >
19 makeMpiComm (MPI_Comm comm)
21 return Teuchos::rcp_implicit_cast< MessengerBase< Scalar > >(
new MpiMessenger< Scalar > (comm));
25 #ifdef HAVE_MPI_COMM_NETWORK 26 template<
class Scalar >
29 Teuchos::RCP< MessengerBase< Scalar > >
32 makeMpiComm (MPI_COMM_NETWORK);
34 #endif // HAVE_MPI_COMM_NETWORK 36 #ifdef HAVE_MPI_COMM_NODE 37 template<
class Scalar >
40 Teuchos::RCP< MessengerBase< Scalar > >
43 makeMpiComm (MPI_COMM_NODE);
45 #endif // HAVE_MPI_COMM_NODE 51 template<
class Scalar >
52 Teuchos::RCP< MessengerBase< Scalar > >
55 makeMpiComm (MPI_COMM_WORLD);
61 #endif // __TSQR_MpiCommFactory_hpp