Thyra Version of the Day
Loading...
Searching...
No Matches
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
16namespace Thyra {
17
18
38template<class ScalarFrom, class ScalarTo>
40public:
41
44
50 const VectorSpaceBase<ScalarFrom> &vecSpc
51 ) const = 0;
52
58 const VectorSpaceBase<ScalarTo> &vecSpc
59 ) const = 0;
60
64 virtual void convert(
65 const MultiVectorBase<ScalarFrom> &mv_from
67 ) const = 0;
68
69};
70
71
72} // namespace Thyra
73
74
75#endif // THYRA_VECTOR_SPACE_CONVERTED_BASE_HPP
Interface for a collection of column vectors called a multi-vector.
Abstract interface for objects that represent a space for vectors.
Base interface for a factory that converts vector space types and vectors and multi-vectors from one ...
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...
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...
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...