|
Thyra Package Browser (Single Doxygen Collection) Version of the Day
|
Node VectorSpaceBase subclass that provides default implementations for many functions using a default multi-vectors implementation.
More...
#include <Thyra_VectorSpaceDefaultBase_decl.hpp>

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 |
| | |
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.
| Teuchos::RCP< MultiVectorBase< Scalar > > Thyra::VectorSpaceDefaultBase< Scalar >::createMembers | ( | int | numMembers | ) | const [protected, virtual] |
The default implementation returns dynamic_cast< DefaultColumnwiseMultiVector<Scalar> >(return.get())!=NULL.
Implements Thyra::VectorSpaceBase< Scalar >.
Reimplemented in Thyra::DefaultClusteredSpmdProductVectorSpace< Scalar >, Thyra::DefaultSpmdVectorSpace< Scalar >, Thyra::DefaultMultiVectorProductVectorSpace< Scalar >, Thyra::DefaultProductVectorSpace< Scalar >, and Thyra::TpetraVectorSpace< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 89 of file Thyra_VectorSpaceDefaultBase_def.hpp.
Referenced by Thyra::DefaultMultiVectorProductVectorSpace< Scalar >::createMembers(), and Thyra::DefaultClusteredSpmdProductVectorSpace< Scalar >::createMembers().
| 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.
| 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.
| 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.
| 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.
1.7.4