Thyra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
core
src
interfaces
operator_vector
extended
Thyra_VectorSpaceConverterBase.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_VECTOR_SPACE_CONVERTED_BASE_HPP
11
#define THYRA_VECTOR_SPACE_CONVERTED_BASE_HPP
12
13
#include "Thyra_OperatorVectorTypes.hpp"
14
15
16
namespace
Thyra {
17
18
38
template
<
class
ScalarFrom,
class
ScalarTo>
39
class
VectorSpaceConverterBase
{
40
public
:
41
43
virtual
~VectorSpaceConverterBase
() {}
44
48
virtual
Teuchos::RCP<const VectorSpaceBase<ScalarTo>
>
49
createVectorSpaceTo
(
50
const
VectorSpaceBase<ScalarFrom>
&vecSpc
51
)
const
= 0;
52
56
virtual
Teuchos::RCP<const VectorSpaceBase<ScalarFrom>
>
57
createVectorSpaceFrom
(
58
const
VectorSpaceBase<ScalarTo>
&vecSpc
59
)
const
= 0;
60
64
virtual
void
convert
(
65
const
MultiVectorBase<ScalarFrom>
&mv_from
66
,
MultiVectorBase<ScalarTo>
*mv_to
67
)
const
= 0;
68
69
};
70
71
72
}
// namespace Thyra
73
74
75
#endif
// THYRA_VECTOR_SPACE_CONVERTED_BASE_HPP
Teuchos::RCP
Thyra::MultiVectorBase
Interface for a collection of column vectors called a multi-vector.
Definition
Thyra_MultiVectorBase_decl.hpp:464
Thyra::VectorSpaceBase
Abstract interface for objects that represent a space for vectors.
Definition
Thyra_VectorSpaceBase_decl.hpp:267
Thyra::VectorSpaceConverterBase
Base interface for a factory that converts vector space types and vectors and multi-vectors from one ...
Definition
Thyra_VectorSpaceConverterBase.hpp:39
Thyra::VectorSpaceConverterBase::~VectorSpaceConverterBase
virtual ~VectorSpaceConverterBase()
Definition
Thyra_VectorSpaceConverterBase.hpp:43
Thyra::VectorSpaceConverterBase::createVectorSpaceTo
virtual Teuchos::RCP< const VectorSpaceBase< ScalarTo > > createVectorSpaceTo(const VectorSpaceBase< ScalarFrom > &vecSpc) const =0
Create a new vector space with scalar type ScalarTo given an existing vector space with scalar type S...
Thyra::VectorSpaceConverterBase::createVectorSpaceFrom
virtual Teuchos::RCP< const VectorSpaceBase< ScalarFrom > > createVectorSpaceFrom(const VectorSpaceBase< ScalarTo > &vecSpc) const =0
Create a new vector space with scalar type ScalarFrom given an existing vector space with scalar type...
Thyra::VectorSpaceConverterBase::convert
virtual void convert(const MultiVectorBase< ScalarFrom > &mv_from, MultiVectorBase< ScalarTo > *mv_to) const =0
Copy from a multi-vector (or vector) with one scalar type to another multi-vector (or vector) with an...
Generated by
1.17.0