Thyra::VectorSpaceConverterBase< ScalarFrom, ScalarTo > Class Template Reference
[Thyra operator/vector extended interfaces]

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]

List of all members.

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.
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.
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.

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 58 of file Thyra_VectorSpaceConverterBase.hpp.


Constructor & Destructor Documentation

template<class ScalarFrom , class ScalarTo >
virtual Thyra::VectorSpaceConverterBase< ScalarFrom, ScalarTo >::~VectorSpaceConverterBase (  )  [inline, virtual]

Definition at line 62 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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Wed Apr 13 10:00:42 2011 for Thyra by  doxygen 1.6.3