Thyra::VectorSpaceConverterBase< ScalarFrom, ScalarTo > Class Template Reference
[Extended Operator/Vector 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 >:

[legend]
List of all members.

Public Member Functions

virtual ~VectorSpaceConverterBase ()
 
virtual Teuchos::RefCountPtr<
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::RefCountPtr<
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::RefCountPtr<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::SerialVectorSpaceConverterStd< ScalarFrom, ScalarTo >.

template<class ScalarFrom, class ScalarTo>
virtual Teuchos::RefCountPtr<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::SerialVectorSpaceConverterStd< 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:
Generated on Thu Sep 18 12:39:53 2008 for Thyra ANA Operator/VectorBase Interfaces and Related Software by doxygen 1.3.9.1