Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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>
40 public:
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
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...
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...
Abstract interface for objects that represent a space for vectors.
Interface for a collection of column vectors called a multi-vector.
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...