Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Thyra_MultipliedLinearOpBase.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_MULTIPLIED_LINEAR_OP_BASE_HPP
11 #define THYRA_MULTIPLIED_LINEAR_OP_BASE_HPP
12 
13 
14 #include "Thyra_LinearOpBase.hpp"
15 
16 
17 namespace Thyra {
18 
42 template<class Scalar>
43 class MultipliedLinearOpBase : virtual public LinearOpBase<Scalar> {
44 public:
45 
48 
54  virtual int numOps() const = 0;
55 
64  virtual bool opIsConst(const int k) const = 0;
65 
75  virtual Teuchos::RCP<LinearOpBase<Scalar> > getNonconstOp(const int k) = 0;
76 
85  virtual Teuchos::RCP<const LinearOpBase<Scalar> > getOp(const int k) const = 0;
86 
88 
89 };
90 
91 
92 } // namespace Thyra
93 
94 
95 #endif // THYRA_MULTIPLIED_LINEAR_OP_BASE_HPP
virtual Teuchos::RCP< LinearOpBase< Scalar > > getNonconstOp(const int k)=0
Return the kth non-constant constituent operator.
virtual int numOps() const =0
Returns the number of constituent operators.
Interface class for implicitly multiplied linear operators.
Base class for all linear operators.
virtual bool opIsConst(const int k) const =0
Determine if the kth constituent operator is const-only or not.
virtual Teuchos::RCP< const LinearOpBase< Scalar > > getOp(const int k) const =0
Return the kth constant constituent operator.