42 #ifndef THYRA_DEFAULT_ADDED_LINEAR_OP_DECL_HPP
43 #define THYRA_DEFAULT_ADDED_LINEAR_OP_DECL_HPP
46 #include "Thyra_AddedLinearOpBase.hpp"
47 #include "Teuchos_ConstNonconstObjectContainer.hpp"
84 template<
class Scalar>
241 std::vector<Teuchos::ConstNonconstObjectContainer<LinearOpBase<Scalar> > > Ops_;
243 inline void assertInitialized()
const;
244 inline std::string getClassName()
const;
245 inline Ordinal getRangeDim()
const;
246 inline Ordinal getDomainDim()
const;
249 void setupDefaultObjectLabel();
259 template<
class Scalar>
262 defaultAddedLinearOp()
269 template<
class Scalar>
271 RCP<DefaultAddedLinearOp<Scalar> >
272 defaultAddedLinearOp(
const ArrayView<
const RCP<LinearOpBase<Scalar> > > &Ops)
274 return Teuchos::rcp(
new DefaultAddedLinearOp<Scalar>(Ops));
279 template<
class Scalar>
281 RCP<DefaultAddedLinearOp<Scalar> >
282 defaultAddedLinearOp(
const ArrayView<
const RCP<
const LinearOpBase<Scalar> > > &Ops)
284 return Teuchos::rcp(
new DefaultAddedLinearOp<Scalar>(Ops));
292 template<
class Scalar>
293 RCP<LinearOpBase<Scalar> >
295 const RCP<LinearOpBase<Scalar> > &A,
296 const RCP<LinearOpBase<Scalar> > &B,
297 const std::string &label =
""
305 template<
class Scalar>
306 RCP<const LinearOpBase<Scalar> >
308 const RCP<
const LinearOpBase<Scalar> > &A,
309 const RCP<
const LinearOpBase<Scalar> > &B,
310 const std::string &label =
""
318 template<
class Scalar>
319 RCP<LinearOpBase<Scalar> >
321 const RCP<LinearOpBase<Scalar> > &A,
322 const RCP<LinearOpBase<Scalar> > &B,
323 const std::string &label =
""
331 template<
class Scalar>
332 RCP<const LinearOpBase<Scalar> >
334 const RCP<
const LinearOpBase<Scalar> > &A,
335 const RCP<
const LinearOpBase<Scalar> > &B,
336 const std::string &label =
""
343 #endif // THYRA_DEFAULT_ADDED_LINEAR_OP_DECL_HPP