Thyra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
core
src
support
operator_solve
client_support
Thyra_DefaultLinearOpSource_decl.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_DEFUALT_LINEAR_OP_SOURCE_DECL_HPP
11
#define THYRA_DEFUALT_LINEAR_OP_SOURCE_DECL_HPP
12
13
#include "Thyra_LinearOpSourceBase.hpp"
14
#include "Teuchos_ConstNonconstObjectContainer.hpp"
15
16
namespace
Thyra {
17
21
template
<
class
Scalar>
22
class
DefaultLinearOpSource
:
virtual
public
LinearOpSourceBase
<Scalar>
23
{
24
public
:
25
28
31
DefaultLinearOpSource
();
32
35
DefaultLinearOpSource
(
36
const
Teuchos::RCP
<
LinearOpBase<Scalar>
> &op
37
);
38
41
DefaultLinearOpSource
(
42
const
Teuchos::RCP
<
const
LinearOpBase<Scalar>
> &op
43
);
44
47
void
initialize
(
48
const
Teuchos::RCP
<
LinearOpBase<Scalar>
> &op
49
);
50
53
void
initialize
(
54
const
Teuchos::RCP
<
const
LinearOpBase<Scalar>
> &op
55
);
56
63
void
uninitialize
();
64
66
67
// ToDo: Override functions from Describable!
68
71
72
bool
isOpConst
()
const
;
74
Teuchos::RCP<LinearOpBase<Scalar>
>
getNonconstOp
();
76
Teuchos::RCP<const LinearOpBase<Scalar>
>
getOp
()
const
;
78
79
private
:
80
81
Teuchos::ConstNonconstObjectContainer<LinearOpBase<Scalar>
> op_;
82
83
};
84
85
// //////////////////////////////
86
// Related functions
87
93
template
<
class
Scalar>
94
Teuchos::RCP<const DefaultLinearOpSource<Scalar>
>
95
defaultLinearOpSource
(
96
const
Teuchos::RCP
<
const
LinearOpBase<Scalar>
> &op
97
)
98
{
99
return
Teuchos::rcp
(
new
DefaultLinearOpSource<Scalar>
(op));
100
}
101
102
}
// namespace Thyra
103
104
#endif
// THYRA_DEFUALT_LINEAR_OP_SOURCE_DECL_HPP
Teuchos::ConstNonconstObjectContainer
Teuchos::RCP
Thyra::DefaultLinearOpSource::initialize
void initialize(const Teuchos::RCP< LinearOpBase< Scalar > > &op)
Initialize with a non-const linear operator.
Definition
Thyra_DefaultLinearOpSource_def.hpp:48
Thyra::DefaultLinearOpSource::DefaultLinearOpSource
DefaultLinearOpSource()
Construct to uninitialized.
Definition
Thyra_DefaultLinearOpSource_def.hpp:25
Thyra::DefaultLinearOpSource::defaultLinearOpSource
Teuchos::RCP< const DefaultLinearOpSource< Scalar > > defaultLinearOpSource(const Teuchos::RCP< const LinearOpBase< Scalar > > &op)
Create a DefaultLinearOpSource object out of a LinearOpBase object.
Definition
Thyra_DefaultLinearOpSource_decl.hpp:95
Thyra::DefaultLinearOpSource::getNonconstOp
Teuchos::RCP< LinearOpBase< Scalar > > getNonconstOp()
Definition
Thyra_DefaultLinearOpSource_def.hpp:84
Thyra::DefaultLinearOpSource::uninitialize
void uninitialize()
Uninitialize.
Definition
Thyra_DefaultLinearOpSource_def.hpp:66
Thyra::DefaultLinearOpSource::isOpConst
bool isOpConst() const
Definition
Thyra_DefaultLinearOpSource_def.hpp:76
Thyra::DefaultLinearOpSource::getOp
Teuchos::RCP< const LinearOpBase< Scalar > > getOp() const
Definition
Thyra_DefaultLinearOpSource_def.hpp:92
Thyra::LinearOpBase
Base class for all linear operators.
Definition
Thyra_LinearOpBase_decl.hpp:159
Thyra::LinearOpSourceBase
Base interface for objects that can return a linear operator.
Definition
Thyra_LinearOpSourceBase.hpp:26
Teuchos::rcp
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Generated by
1.17.0