Thyra Version of the Day
Loading...
Searching...
No Matches
Thyra_EpetraOperatorViewExtractorBase.hpp
1// @HEADER
2// *****************************************************************************
3// Thyra: Interfaces and Support for Abstract Numerical Algorithms
4//
5// Copyright 2004 NTESS and the Thyra contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef THYRA_EPETRA_OPERATOR_VIEW_EXTRACTOR_BASE_HPP
11#define THYRA_EPETRA_OPERATOR_VIEW_EXTRACTOR_BASE_HPP
12
13#include "Thyra_LinearOpBase.hpp"
14#include "Thyra_EpetraTypes.hpp"
15
16
17namespace Thyra {
18
19
28{
29public:
30
33
37 virtual bool isCompatible( const LinearOpBase<double> &fwdOp ) const = 0;
38
92 const RCP<LinearOpBase<double> > &fwdOp,
93 const Ptr<RCP<Epetra_Operator> > &epetraOp,
94 const Ptr<EOpTransp> &epetraOpTransp,
95 const Ptr<EApplyEpetraOpAs> &epetraOpApplyAs,
96 const Ptr<EAdjointEpetraOp> &epetraOpAdjointSupport,
97 const Ptr<double> &epetraOpScalar
98 ) const = 0;
99
151 virtual void getEpetraOpView(
152 const RCP<const LinearOpBase<double> > &fwdOp,
153 const Ptr<RCP<const Epetra_Operator> > &epetraOp,
154 const Ptr<EOpTransp> &epetraOpTransp,
155 const Ptr<EApplyEpetraOpAs> &epetraOpApplyAs,
156 const Ptr<EAdjointEpetraOp> &epetraOpAdjointSupport,
157 const Ptr<double> &epetraOpScalar
158 ) const = 0;
159
161
162};
163
164
165} // namespace Thyra
166
167
168#endif // THYRA_EPETRA_OPERATOR_VIEW_EXTRACTOR_BASE_HPP
169
170#if defined(Thyra_SHOW_DEPRECATED_WARNINGS)
171#ifdef __GNUC__
172#warning "The ThyraEpetraAdapters package is deprecated"
173#endif
174#endif
175
Strategy interface for extracting an Epetra_Operator view out of a Thyra::LinearOpBase<double> object...
virtual bool isCompatible(const LinearOpBase< double > &fwdOp) const =0
Check that a LinearOpBase object is compatible with *this factory object.
virtual void getEpetraOpView(const RCP< const LinearOpBase< double > > &fwdOp, const Ptr< RCP< const Epetra_Operator > > &epetraOp, const Ptr< EOpTransp > &epetraOpTransp, const Ptr< EApplyEpetraOpAs > &epetraOpApplyAs, const Ptr< EAdjointEpetraOp > &epetraOpAdjointSupport, const Ptr< double > &epetraOpScalar) const =0
Gat a smart pointer to a const Epetra_Operator view of a Thyra::LinearOpBase object and how the objec...
virtual void getNonconstEpetraOpView(const RCP< LinearOpBase< double > > &fwdOp, const Ptr< RCP< Epetra_Operator > > &epetraOp, const Ptr< EOpTransp > &epetraOpTransp, const Ptr< EApplyEpetraOpAs > &epetraOpApplyAs, const Ptr< EAdjointEpetraOp > &epetraOpAdjointSupport, const Ptr< double > &epetraOpScalar) const =0
Gat a smart pointer to a non-const Epetra_Operator view of a Thyra::LinearOpBase object and how the o...
Base class for all linear operators.