Thyra::VectorSpaceConverterBase< ScalarFrom, ScalarTo > Class Template Reference

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>

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


Constructor & Destructor Documentation

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

Definition at line 60 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.

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.

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.


The documentation for this class was generated from the following file:
Generated on Tue Oct 20 12:46:47 2009 for Extended Thyra ANA Operator/Vector Interfaces by doxygen 1.4.7