Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
Thyra::VectorSpaceConverterBase< ScalarFrom, ScalarTo > Class Template Referenceabstract

Base interface for a factory that converts vector space types and vectors and multi-vectors from one scalar type to another. More...

#include <Thyra_VectorSpaceConverterBase.hpp>

Inheritance diagram for Thyra::VectorSpaceConverterBase< ScalarFrom, ScalarTo >:
Inheritance graph
[legend]

Public Member Functions

virtual ~VectorSpaceConverterBase ()
 
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 ScalarFrom. More...
 
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 ScalarTo. More...
 
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 another scalar type. More...
 

Detailed Description

template<class ScalarFrom, class ScalarTo>
class Thyra::VectorSpaceConverterBase< ScalarFrom, ScalarTo >

Base interface for a factory that converts vector space types and vectors and multi-vectors from one scalar type to another.

This abstract interface is templated on two scalar types, ScalarFrom and ScalarTo, which allow a client to create new vector spaces and convert vectors and multi-vectors from one scalar type to another. This is a critical capability for some algorithms with mixed scalar types.

One of these concrete subclasses should be provided for every concrete VectorSpaceBase subclass.

Note that this interface works just fine even if ScalarTo is the same type as ScalarFrom.

ToDo: Finish documentation!

Definition at line 39 of file Thyra_VectorSpaceConverterBase.hpp.

Constructor & Destructor Documentation

template<class ScalarFrom , class ScalarTo >
virtual Thyra::VectorSpaceConverterBase< ScalarFrom, ScalarTo >::~VectorSpaceConverterBase ( )
inlinevirtual

Definition at line 43 of file Thyra_VectorSpaceConverterBase.hpp.

Member Function Documentation

template<class ScalarFrom , class ScalarTo >
virtual Teuchos::RCP<const VectorSpaceBase<ScalarTo> > Thyra::VectorSpaceConverterBase< ScalarFrom, ScalarTo >::createVectorSpaceTo ( const VectorSpaceBase< ScalarFrom > &  vecSpc) const
pure virtual

Create a new vector space with scalar type ScalarTo given an existing vector space with scalar type ScalarFrom.

Implemented in Thyra::DefaultSerialVectorSpaceConverter< ScalarFrom, ScalarTo >.

template<class ScalarFrom , class ScalarTo >
virtual Teuchos::RCP<const VectorSpaceBase<ScalarFrom> > Thyra::VectorSpaceConverterBase< ScalarFrom, ScalarTo >::createVectorSpaceFrom ( const VectorSpaceBase< ScalarTo > &  vecSpc) const
pure virtual

Create a new vector space with scalar type ScalarFrom given an existing vector space with scalar type ScalarTo.

Implemented in Thyra::DefaultSerialVectorSpaceConverter< ScalarFrom, ScalarTo >.

template<class ScalarFrom , class ScalarTo >
virtual void Thyra::VectorSpaceConverterBase< ScalarFrom, ScalarTo >::convert ( const MultiVectorBase< ScalarFrom > &  mv_from,
MultiVectorBase< ScalarTo > *  mv_to 
) const
pure virtual

Copy from a multi-vector (or vector) with one scalar type to another multi-vector (or vector) with another scalar type.

Implemented in Thyra::SerialVectorSpaceConverterBase< ScalarFrom, ScalarTo >.


The documentation for this class was generated from the following file: