Thyra Version of the Day
Thyra::VectorSpaceDefaultBase< Scalar > Class Template Reference

Node VectorSpaceBase subclass that provides default implementations for many functions using a default multi-vectors implementation. More...

#include <Thyra_VectorSpaceDefaultBase_decl.hpp>

Inheritance diagram for Thyra::VectorSpaceDefaultBase< Scalar >:
Inheritance graph
[legend]

List of all members.

Protected functions overridden from VectorSpaceBase

RCP< MultiVectorBase< Scalar > > createMembers (int numMembers) const
 
RCP< VectorBase< Scalar > > createMemberView (const RTOpPack::SubVectorView< Scalar > &raw_v) const
 
RCP< const VectorBase< Scalar > > createMemberView (const RTOpPack::ConstSubVectorView< Scalar > &raw_v) const
 
RCP< MultiVectorBase< Scalar > > createMembersView (const RTOpPack::SubMultiVectorView< Scalar > &raw_mv) const
 
RCP< const MultiVectorBase
< Scalar > > 
createMembersView (const RTOpPack::ConstSubMultiVectorView< Scalar > &raw_mv) const
 

Detailed Description

template<class Scalar>
class Thyra::VectorSpaceDefaultBase< Scalar >

Node VectorSpaceBase subclass that provides default implementations for many functions using a default multi-vectors implementation.

Notes to Subclass Developers

Because of the default multi-vector implementation used in this node subclasses, a concrete subclass is only required to override four functions: dim(), isCompatible(), createMember() and smallVecSpcFcty(). Note that implementing the createMember() method also entails defining a concrete VectorBase subclass and defining smallVecSpcFcty() entails defining a concrete VectorSpaceFactoryBase subclass.

If a subclass can support specialized multi-vectors, then the createMembers() function should be overridden as well. Note that implementing createMembers() also entails defining a concrete MultiVectorBase subclass.

Definition at line 60 of file Thyra_VectorSpaceDefaultBase_decl.hpp.


Member Function Documentation

template<class Scalar >
Teuchos::RCP< MultiVectorBase< Scalar > > Thyra::VectorSpaceDefaultBase< Scalar >::createMembers ( int  numMembers) const [protected, virtual]
template<class Scalar >
Teuchos::RCP< VectorBase< Scalar > > Thyra::VectorSpaceDefaultBase< Scalar >::createMemberView ( const RTOpPack::SubVectorView< Scalar > &  raw_v) const [protected, virtual]

The default implementation of this function simply calls this->createMember() to create a vector then uses the explicit element access functions to set the elements and then only when the vector is destroyed is the data copied out of the vector and back into the elements pointed to by raw_v.values().

Implements Thyra::VectorSpaceBase< Scalar >.

Reimplemented in Thyra::DefaultSpmdVectorSpace< Scalar >.

Definition at line 101 of file Thyra_VectorSpaceDefaultBase_def.hpp.

template<class Scalar >
Teuchos::RCP< const VectorBase< Scalar > > Thyra::VectorSpaceDefaultBase< Scalar >::createMemberView ( const RTOpPack::ConstSubVectorView< Scalar > &  raw_v) const [protected, virtual]

The default implementation of this function simply calls this->createMember() to create a vector then uses the explicit element access functions to set the elements from raw_v.values().

Implements Thyra::VectorSpaceBase< Scalar >.

Reimplemented in Thyra::DefaultSpmdVectorSpace< Scalar >.

Definition at line 129 of file Thyra_VectorSpaceDefaultBase_def.hpp.

template<class Scalar >
Teuchos::RCP< MultiVectorBase< Scalar > > Thyra::VectorSpaceDefaultBase< Scalar >::createMembersView ( const RTOpPack::SubMultiVectorView< Scalar > &  raw_mv) const [protected, virtual]

The default implementation of this function simply calls this->createMembers(raw_mv.numSubCols()) to create a multi-vector then uses the explicit element access functions to set the elements and then only when the multi-vector is destroyed is the data copied out of the multi-vector and back into the elements pointed to by raw_mv.values().

Implements Thyra::VectorSpaceBase< Scalar >.

Reimplemented in Thyra::DefaultSpmdVectorSpace< Scalar >.

Definition at line 149 of file Thyra_VectorSpaceDefaultBase_def.hpp.

template<class Scalar >
Teuchos::RCP< const MultiVectorBase< Scalar > > Thyra::VectorSpaceDefaultBase< Scalar >::createMembersView ( const RTOpPack::ConstSubMultiVectorView< Scalar > &  raw_mv) const [protected, virtual]

The default implementation of this function simply calls this->createMembers() to create a multi-vector then uses the explicit element access functions to set the elements.

Implements Thyra::VectorSpaceBase< Scalar >.

Reimplemented in Thyra::DefaultSpmdVectorSpace< Scalar >.

Definition at line 178 of file Thyra_VectorSpaceDefaultBase_def.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines