Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Epetra_TsqrMessenger.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Tpetra: Templated Linear Algebra Services Package
4 //
5 // Copyright 2008 NTESS and the Tpetra contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
24 
25 #ifndef EPETRA_TSQRMESSENGER_HPP
26 #define EPETRA_TSQRMESSENGER_HPP
27 
28 #include <Tpetra_ConfigDefs.hpp>
29 
30 #if !defined(TPETRA_ENABLE_DEPRECATED_CODE)
31 #error This file is deprecated due to Epetra removal and will be removed
32 #endif
33 
34 #if defined(TPETRA_ENABLE_DEPRECATED_CODE) && defined(HAVE_TPETRA_EPETRA) && defined(HAVE_TPETRA_TSQR)
35 
36 // Include Epetra's MPI wrappers.
37 #include <Epetra_Comm.h>
38 
39 // Include Teuchos' MPI wrappers.
40 #include <Teuchos_Comm.hpp>
41 
42 #include <Teuchos_RCP.hpp>
43 #include <Tsqr_TeuchosMessenger.hpp>
44 
45 
46 namespace TSQR {
47  namespace Epetra {
48 
57  TPETRA_DEPRECATED_MSG("epetra removal")
58  Teuchos::RCP<const Teuchos::Comm<int> >
59  extractTeuchosComm (const Teuchos::RCP<const Epetra_Comm>& epetraComm);
60 
62  template<class Datum>
63  TPETRA_DEPRECATED_MSG("epetra removal")
64  Teuchos::RCP<TSQR::MessengerBase<Datum> >
65  makeTsqrMessenger (const Teuchos::RCP<const Epetra_Comm>& pComm)
66  {
67  typedef TSQR::MessengerBase<Datum> base_mess_type;
68  typedef TSQR::TeuchosMessenger<Datum> mess_type;
69 
70  Teuchos::RCP<mess_type> pMess =
71  Teuchos::rcp (new mess_type (extractTeuchosComm (pComm)));
72  return Teuchos::rcp_implicit_cast<base_mess_type> (pMess);
73  }
74  } // namespace Epetra
75 } // namespace TSQR
76 
77 #endif // defined(TPETRA_ENABLE_DEPRECATED_CODE) && defined(HAVE_TPETRA_EPETRA) && defined(HAVE_TPETRA_TSQR)
78 
79 #endif // EPETRA_TSQRMESSENGER_HPP
80