25 #ifndef EPETRA_TSQRMESSENGER_HPP
26 #define EPETRA_TSQRMESSENGER_HPP
28 #include <Tpetra_ConfigDefs.hpp>
30 #if !defined(TPETRA_ENABLE_DEPRECATED_CODE)
31 #error This file is deprecated due to Epetra removal and will be removed
34 #if defined(TPETRA_ENABLE_DEPRECATED_CODE) && defined(HAVE_TPETRA_EPETRA) && defined(HAVE_TPETRA_TSQR)
37 #include <Epetra_Comm.h>
40 #include <Teuchos_Comm.hpp>
42 #include <Teuchos_RCP.hpp>
43 #include <Tsqr_TeuchosMessenger.hpp>
56 TPETRA_DEPRECATED_MSG(
"epetra removal")
57 Teuchos::RCP<const Teuchos::Comm<
int> >
58 extractTeuchosComm(const Teuchos::RCP<const Epetra_Comm>& epetraComm);
61 template <class Datum>
62 TPETRA_DEPRECATED_MSG("epetra removal")
63 Teuchos::RCP<TSQR::MessengerBase<Datum> > makeTsqrMessenger(const Teuchos::RCP<const Epetra_Comm>& pComm) {
64 typedef TSQR::MessengerBase<Datum> base_mess_type;
65 typedef TSQR::TeuchosMessenger<Datum> mess_type;
67 Teuchos::RCP<mess_type> pMess =
68 Teuchos::rcp(
new mess_type(extractTeuchosComm(pComm)));
69 return Teuchos::rcp_implicit_cast<base_mess_type>(pMess);
74 #endif // defined(TPETRA_ENABLE_DEPRECATED_CODE) && defined(HAVE_TPETRA_EPETRA) && defined(HAVE_TPETRA_TSQR)
76 #endif // EPETRA_TSQRMESSENGER_HPP